一个指针变量当用来指向一个结构变量时,称之为结构指针变量

发布时间: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");

}


评论