结构体

来源:互联网 发布:mac app原型设计工具 编辑:程序博客网 时间:2024/05/13 01:57
stu1 = stu2;//数组不可以直接赋值,但是可以通过将数组放进结构体的方式实现数组的直接赋值

//匿名结构体,在声明完之后立刻为该结构体定义变量,否则该匿名结构体将无法再使用(注意符号,逗号以及分号)
struct{
   
char name[20];
   
int age;
}
p1 = {
"maomao",23},
p2 = {"laomao",34};

重定义: 把struct student 重定义为STU, 重定义后, 定义结构体类型的变量就可以使用新定义的名字声明变量.
typedefstruct student {
   
char name[20];
   
int age;
   
char gender;
   
float score;
}STU;

用好3目运算符
 //有三个学生,找出分数最高者,并输出其全部信息
       
STU  stumax = {0};
        stumax = stu1.
score> stu2.score? stu1 : stu2;
        stumax = stumax.score> stu3.score? stumax : stu3;       
       printf("%s %d %c %f", stumax.name, stumax.age, stumax.gender, stumax.score);


//结构体以最大成员变量类型所占空间为分配单位,按结构体成员声明顺序自上而下分配分配空间不足以存储成员变量时,分配新的空间单位.

//#pragma pack(1)//去除内存对齐,现在结构体占用空间为29
typedefstruct student {
   
char name[22];
   
int age;
   
char gender;
   float score;
注意二者的区别
typedefstruct student {
   
char name[22];
   
char gender;
   
int age;
   float score;

全局变量或者static静态变量初始化的时候初值不能为变量
0 0
原创粉丝点击