C语言之结构体(二)

版权声明:转载请注明 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的使用方法可参照该链接文章

猜你喜欢

转载自blog.csdn.net/qq_34720818/article/details/87926305