版权声明:转载请注明 https://blog.csdn.net/qq_34720818/article/details/87926305
结构体变量与指针
一、结构体类型的指针变量
定义示例:
struct person per, *p;//定义一个struct person类型的结构体指针变量p
per={"Mekeater",23,1.8,60};
p=&per;
p->height=1.8f;//利用指向结构体成员运算符“->”来引用该变量成员
二、指向结构体数组的结构体指针变量
示例代码
struct person
{
char name[12];
int age;
float height;
float weight;
};//注意分号不要忘记了
void main()
{
struct person perp[2]={{"Mekeater",23,1.8,60},{"Sunhy",20,1.79,60}};
struct person *p;
p=perp;//定义结构体指针p
for(int i=0;i<2;i++)
{
printf("%s %d %f %f\n",p->name,p->age,p->height,p->weight);
p++;
}
}
三、结构体与函数
1、结构体变量作为函数参数
示例:void test(struct person p){}
2、结构指针变量作为函数参数
示例:void test(struct person *p){}
3、结构体数组作为函数参数
示例:void test(struct person p[]){}
四、补充
大家应该注意到了,声明结构体变量比较麻烦,如声明上面person结构体变量:struct person perp;每次都要带上struct关键字,没有感觉很麻烦,其实我们完全可以用typedef关键字为类型取别名,使其简化,typedef的使用方法可参照该链接文章