结构体定义:
//方法一:对结构体重命名 常用
typedef struct _Person{
int age;
char name[30];
int grade;
}Person;
//方法二:
struct Person{
int age;
char name[30];
int grade;
}p1,p2;
//方法三:
struct{
int age;
char name[30];
}p;
上面只是定义了一个数据类型,没有分配内存。对于结构体来说,是捆绑分配内存以及捆绑释放内存。即不用单独为每个成员分配内存,编译器直接给他们分配。
结构体捆绑分配内存:
在分配内存的时候注意字节对齐,也就是每个变量分配的内存应该是4(32位编译器)的倍数。
typedef struct _Person {
int age;
char c;
int grade;
char buf[5];
char * d;
}Person;
void main() {
Person p;
printf("p的地址:%d\n", &p);
printf("p.age :%d\n", &p.age);
printf("p.c :%d\n", &p.c);
printf("p.gr