黑马程序员技术交流社区

标题: 结构体定义使用 [打印本页]

作者: skywan    时间: 2015-7-23 15:56
标题: 结构体定义使用
今天看结构体小结
形式:struct 结构名{

               成员列表

           };

A 定义的三种方式

1.先定义结构体,子定义结构变量

struct 结构名{

               成员列表

           };
struct 结构名  结构变量;

2.定义结构体的同时,定义结构变量

struct 结构名{

               成员列表

           } 结构变量;
3.使用匿名结构体变量

struct {

               成员列表

           } 结构变量;
B初始化

1.先定义变量在初始化

struct Student{

               int age;

               char *name;

           };

struct Student stu;

stu.age=10;

stu.age="zhanggong";

2.边定义边初始化

struct Student stu={10,“zhanggong”};

3.定义结构体同时,还可以指定元素初始化

struct Student stu={name=“zhanggong”};
附带一个小程序
  1. int main(int argc, const char *argv[]){
  2.            //结构体
  3.                 struct stu
  4.                 {
  5.                         int num;
  6.                         char *name;
  7.                         char sex;
  8.                         float score;
  9.                 };
  10.                 struct stu boy[5] =
  11.                 {
  12.                         { 101, "liming", 'F', 45 },
  13.                         { 102, "zhanghong", 'M', 62.5 },
  14.                         { 103, "hefeng", 'F', 92.5 },
  15.                         { 104, "chengling", 'M', 87 },
  16.                         { 105, "wangming", 'M', 58 },
  17.                 };
  18.                 float sum = 0.0f;
  19.                 int count = 0;
  20.                 //循环
  21.                 for (int i = 0; i < 5; i++)
  22.                 {
  23.                         sum += boy[i].score;
  24.                         //判断成绩小于60的人数
  25.                         if (boy[i].score<60){
  26.                                 count++;
  27.                         }
  28.                         //输出成绩在80到100人的姓名和成绩
  29.                         else if (boy[i].score <= 80 && boy[i].score <= 100)
  30.                         {
  31.                                 printf("姓名=%s,成绩=%.2f\n", boy[i].name, boy[i].score);
  32.                         }
  33.        
  34.                 }
  35.                 printf("平均值:%.2f\n", sum / 5);
  36.                 printf("不及格人数:%d\n", count);
  37.         return 0;
  38. }
复制代码

作者: 小林儿    时间: 2015-7-23 18:37
很受用赞一个!
作者: 我丶就这样    时间: 2015-7-23 18:57
围观学习!
作者: 刘彦麟    时间: 2015-7-23 20:24
受教了··




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2