网站访问量大打不开,wordpress无法重新安装,html论坛模板,免费wordpress 主题数据类型 #xff08;1#xff09;基本数据类型 整型 浮点型 字符型 #xff08;2#xff09;构造类型 数组 结构体 结构体: 用来处理#xff0c;现实生活中#xff0c;更复杂的数据的描述 用来 描述复杂数据的 一种用户自定义的数…数据类型 1基本数据类型 整型 浮点型 字符型 2构造类型 数组 结构体 结构体: 用来处理现实生活中更复杂的数据的描述 用来 描述复杂数据的 一种用户自定义的数据类型
一.结构体类型 定义 --- 定义(从无到有) 声明() struct 结构体名 { 成员列表 };
(1).struct 表示这是一个结构体类型 (2).结构体名 标识符 (3).成员列表 这个结构类型中要描述的具体数据 一般都是变量定义的形式 struct student{int sno;char name[20];int age;float score;};此时表示 定义了一个 学生信息的结构体类型 数据类型 --- 用户自定义
变量的初始化 和 赋值 struct student s {110,tom,18,98.5};
struct student s[3]{{110,tom,12,98.2},{111,jey,13,97.5},{112,mik,10,99.5}};引用结构体数据 一般我们是引用到结构体成员 (引用到这种基本类型)
int main(int argc, const char *argv[]){struct student s{110,tom,18,98.5};printf(sno%d\n,s.sno);printf(name%s\n,s.name);printf(age%d\n,s.age);printf(score%.1f\n,s.score);return 0;}结构体变量名.结构体成员变量名 s.sno s.name s.age s.score //引用到结构体成员变量 说明 1. 同一类型的结构体 变量间可以相互赋值 2. 结构体变量赋值是赋值给结构体成员的
- //指向结构体成员运算符
结构体类型的指针-结构体成员变量名
void printStuInfo(struct student *s,int len){int i0;printf(No\tName\tAge\tScore\n);printf(------|\t------|\t------|\t------\n);for(i0;ilen;i){printf( %d\t,(si)-sno);printf(%s\t,(si)-name);printf(%d\t,(si)-age);printf(%.2f\n,s[i].score);}}考点: 结构体的对齐规则: //内存地址的对齐 1.在32位的平台上默认都是按4字节对齐的。 2.对于成员变量 各自在自己的自然边界上对齐。 char -- 1字节 short -- 2字节 int -- 4字节 3.如果 成员变量中有比4字节大。 此时 整个结构体 按照4字节对齐。 //32位的平台 4.如果 成员变量中没有有比4字节大。 此时 整个结构体 按照最大的那个成员对齐。 //32位的平台 //如果有超过4字节 按照4字节对齐 //如果没有超过4字节的则按成员变量中最大对齐 ---------------------------------------------- //64位的平台 ---- 64位平台 整个结构体对齐 按成员中最大的对齐 1.结构体成员的对齐 --- 放在自然边界 (偶数位置) 2.结构体整体的对齐 --- 以结构体中最大的成员对齐