- 博客(3)
- 收藏
- 关注
原创 2021-01-19
通讯录的实现 #include<stdio.h> #include<string.h> #define MAX 1000 int size=0; //实现通讯录 //定义一个结构体 //************************************ struct Contact { char name[20]; int age; char tele[12]; char sex[5]; char addr[30]; }; struct
2021-01-19 19:22:19
126
原创 2021-01-18
结构体的内存对齐问题 三原则 原则1:数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offseti(地址)为0的地方,以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成员自身长度中,比较小的那个进行。 原则2:结构(或联合)的整体对齐规则:在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长度中,比较小的那个进行。 原则3:结构体作为成员:如果一个结构里有某些
2021-01-18 11:02:45
114
原创 2021-01-10
数组名的理解 先定义一个整形数组:int a[10]={0,1,2,3,4,5,6,7,8,9}; 一.a有两种情况 a代表整个数组。 a的值是指向数组首元素地址的指针常量(可以这样理解),也可以说a的值是首元素的地址。 对于第一类情况,在使用sizeof操作符和&符时,a代表整个数组,其他情况,a就是首元素地址, 也可理解为常量指针,表达式a+1,代表第二个元素的地址;而&a+1代表跳过整个数组后的地址。 注意a[3]与(a+3)等价* 地址的跳跃:a+1中,a代表首元素地址,而加1表示
2021-01-10 14:45:13
332
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅