一个指针变量当用来指向一个结构变量时,称之为结构指针变量
发布时间:2022-07-06编辑:zhushican阅读(291)
一个指针变量当用来指向一个结构变量时,称之为结构指针变量。结构指针变量中的值是所指向的结构变量的首地址。通过结构指针即可访问该结构变量,这与数组指针和函数指针的情况是相同的。
结构指针变量说明的一般形式为:
struct 结构名 *结构指针变量名
【案例描述】
纠正下面代码中的语法错误。
#include<stdio.h>;
main()
{ struct NM{int n,m;};*p;
scanf("%d%d",p.n,p.m);
printf("%d,%d",p.n,p.m);
}
【案例分析】
1、预处理命令不是语句,不能以分号结尾
2、定义结构体同时定义变量时,大括号与变量名之间没有分号
3、指针变量必须先赋值再使用。可使用malloc函数动态申请内存空间,但要注意指针类型的转换,也要处理函数失败的情况。
4、scanf函数必须给定变量地址
5、结构体类型指针变量必须通过“指针变量名->成员名”的方式引用成员
【参考代码】
#include<stdio.h>
main()
{ struct NM{int n,m;}*p;
p=(struct NM*)malloc(sizeof(struct NM));
if(p)
{ scanf("%d%d",&p->n,&p->m);
printf("%d,%d",p->n,p->m);
}
else
printf("ERROR");
}