1. 格式
struct 结构体名{数据类型 成员1;数据类型 成员2; .... };struct 结构体名 *指针变量名
2. 结构体指针指向普通变量的地址
struct CAR{char name[10];int price; };struct CAR car={"byd",160}; struct CAR *p=&car; //p是指向结构体变量car的指针// p->name 等价于car.name// (*p).name //不常用// (&car)->name //不常用// p->price 等价于car.price//(*p).price //不常用//(&a)->price //不常用
3.结构体指针指向结构体数组的地址
struct CAR{char name[20];int price; };struct CAR car[3]={"byd", 160,"wuling",50,"geely", 90};struct CAR *p=car; //数组指针for(int i=0;i<3;i++){printf("%s %d\n",(p+i)->name,(p+i)->price); }
4.结构体指针指向堆区的内存
struct CAR{char name[10];int price; };struct CAR car[4];struct CAR *p=(struct CAR*)malloc(sizeof(struct CAR)*4);