C/C++学习笔记之七
结构体是C/C++中的一个重点内容,无论工程应用还是考试过程中,都会不断的考察它的使用,下面我们就结构体加以讨论。
(1)结构体的语法:
strcut 类型名{
//结构体内容
};
注:使用大括号,末尾记得加分号;
例:struct Student{
int id;//学号
char name[10];//姓名
char addr[50];//家庭住址
int socre[5];//成绩
};
(2)变量的定义和初始化
Student a={1,"张三","南京",{90,88,72,88,100}};
注:类型字段要匹配,各初始值用逗号隔开;
例:结构体数组的定义
Student stu[]={{1,"lf","上海",{81,91,66,93,66}},
{2,"lf1","上海",{81,91,66,93,66}},
{3,"lf2","上海",{81,91,66,93,66}}};
注:结构体类型只支持赋值‘=’,其余'+'、‘-’等不支持。
(3)结构体的深层次讨论
1)对齐问题
定义时,将结构体所含字节数都包含了。
2)结构体作为成员
同一般变量做成员
3)结构体变量作为函数参数
同普通变量,传值重新开辟空间(效率低);传地址(指针,不需要开辟空间,效率高)
结构体基本内容就到这,下节讨论动态分配内存。