C语言结构体定义

阅读: 评论:0

C语言结构定义
  C语言中的“结构体”其实就相当于其他高级语言中的“记录”,结构体的定义方法如下:
  例如:
  Struct student
  { int num;
我的叔叔于勒续写
  char name[20];新华门事件
  char sex;
  int age;
  float score;
  char addr[30];
  };(注意最后的分号不能省略)。
端粒的功能
  其中第一行的“student”是该结构体的名称,花括号里面的内容是结构体的成员名,这是声明结构体的一般形式。也可以在声明结构体的同时对它进行初始化,例如:
  struct stu
  {
  int num;
  char *name;
  char sex;
  float score;
  }pupil[5]={
  {101,"Tom",'M',45.8},
  {102,"Mike",'M',62.5},读者
  {103,"Chris",'F',92.5},
  {104,"Rose",'F',87.6},
  {105,"Nate",'M',58.8}
  };
  该代码中的“pupil[5]”称为结构体数组,它属于结构体变量,在定义该变量的同时对它进行了初始化操作。我们也可以先声明结构体,然后再对它进行初始化操作。
  例如:
  #include
  int main()
  {
  struct student
  {
  char name[8];
  int age;
  char sex[4];
  char depart[20];
  float grade1,grade2,grade3;
  }a;
  float wage;
  char c='Y';
  if(c=='Y'||c=='y')
  {
  printf("\nName:");
  scanf("%s", a.name);
第三世界论坛
  printf("Age:");
  scanf("%d", &a.age);
  printf("Sex:");
  scanf("%s", a.sex);
  printf("Dept:");
  scanf("%s", a.depart);
  printf("Grade1:");
  scanf("%f", &ade1);
  printf("Grade2:");
  scanf("%f", &ade2);
  printf("Grade3:");
  scanf("%f", &ade3);
  ade3;
  printf("The sum of wage is %6.2f\n", wage);
  }
  return 0;
  }
  该程序中定义了一个名为“student”的结构体,变量名为“a”,然后再后面“if”包含的`符合语句中对该结构体进行初始化。在此,我们可以看出,对结构体的初始化,只能对它里面的每个成员分别初始化。
  #include
  struct stu
  {
  int num;
  char *name;
  char sex;
  float score;
  }pupil[5]={
  {101,"Tom",'M',45.8},
  {102,"Mike",'M',62.5},
  {103,"Chris",'F',92.5},
  {104,"Rose",'F',87.6},
  {105,"Nate",'M',58.8}
  };
  void avg(struct stu *ps)
  {求医不如求己4
  int c=0,i;
  float ave,s=0;
  for(i=0;i<5;i++,ps++)
  {
  s+=ps->score;
  if(ps->score<60) c+=1;
  }
  printf("s=%.3f\n",s);
  ave=s/5;
  printf("average=%.3f\ncount=%d\n",ave,c);
  }
  int main()
  {
  struct stu *ps;
  ps=pupil;
  avg(ps);
  return 0;
  }
  此程序是关于结构体指针变量作函数参数,这样可以提高程序的运行效率,程序中我们定义了一个“stu”的结构体,变量名为“pupil”,并对其进行了初始化,在主函数中定义了一个该结构体的指针ps,将pupil赋值给ps,当函数avg()调用该结构体时,用指针ps来传递pupil的地址,从而,提高了该程序的效率。
  结构体与指针的结合使用,可以有效的解决现实生活中的很多问题,因此C语言中的指针和结构体应该能够熟练的掌握。

本文发布于:2023-08-15 05:47:09,感谢您对本站的认可!

本文链接:https://patent.en369.cn/xueshu/361197.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:结构   指针   变量   程序   定义   进行   提高
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图