#include
struct person
{
char *name;
int age;
};
int main()
{
//结构体可以定义在函数内,也可以定义到函数外
//相当于全局变量与局部变量
// struct person
// {
// char *name;
// int age;
// };
struct person p1;
//补齐算法,分配的存储空间为结构体中占用内存最大成员所占用内存的整数倍
//person结构体中占用内存最大的成员为指针,占用8个字节,
//另一个成员int占用4个内存,
//所以结构体person所定义变量占用的内存为16字节
printf("sizeof(p1)=%lu\n",sizeof(p1));
p1.name = "jack";
p1.age = ;
printf("p1.name = %s\n",p1.name);
printf("p1.age = %d\n",p1.age);
struct person p2 = {"rose",};
printf("p2.name = %s\n",p2.name);
printf("p2.age = %d\n",p2.age);
/*
错误的赋值
结构体只能在初始化的时候使用大括号