结构体
来源:互联网 发布:手机淘宝怎样看追评 编辑:程序博客网 时间:2024/05/23 15:06
结构体
理解与测试:
1)结构体也是一种数据类型。结构体类型变量的定义有三种方式。第一种,先声明一个结构体类型再定义一个结构体变量。第二种,声明结构体类型时同时定义结构体变量。第三种,直接定义结构类型变量,即不出现结构体名。结构体可以嵌套定义,即成员也可以是一个结构体变量。
2)成员名可以与程序中的变量名相同,二者不代表同一个对象。
3)结构体变量的初始化可以类似数组的初始化,即用大口号对每个成员赋值。 4)不能对结构体变量的成员整体赋值。结构体变量的成员可以当成普通变量使用,对结构体中的成员(即“域”)的引用方式如下:
结构体变量.成员名
对于结构体指针变量来说,一般通过“->”运算符来访问其成员,这边其实是访问结构体指针所指向的结构体的成员,因为结构体指针也和其他变量的指针相似,指向的是结构体存储单元的首地址。结构体指针引用成员的一般格式如下:
结构体指针->成员名 或(*结构体指针).成员名 总结与注意
结构体类型与结构体变量是不同的概念,不要混同。只能对变量赋值、存取或运算,而不能对一个类型赋值、存取或运算。在编译时,对类型时不分配空间的,只对变量分配空间。
结构体数组
理解与测试:
结构体作为一种数据类型也可定义数组,用结构体定义的数组每个元素都是一个结构体变量。结构体数组的定义、引用和普通结构体变量相同。 总结与注意
在测试的过程中发现使用结构体数组存在下面问题:
int main()
{
int i = 0; struct student {
float grade[2];
}st[2]={{1,2},{1,2}};
scanf("%f",&st[i].grade[0]); printf("%f",st[i].grade[0]); getch(); }
运行后窗口只是一闪下。如果在scanf();不要用变量作为数组下标程序可以正常运行。这应该是scanf();语句的一个bug。
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体,,,,
- 结构体
- 结构体
- mac下快速安装php的各个版本
- 傻了的程序猿
- Activity的Launch mode详解 singleTask正解
- m2e插件
- SimpleBlobDetector 类
- 结构体
- 肤色检测
- [MCSD]数讲70-483(一)
- 汇编语言编写十进制数到二进制数的进制转换并显示的子程序
- 机器学习之线性回归(Linear Regression)
- 线性不可分的线性支持向量机的原始问题(凸二次规划)详细求解
- 数组名和数组名取地址的区别
- 第十三周项目5---拓扑排序算法验证
- Windows下强大的vimrc配置