A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© skywan 中级黑马   /  2015-7-23 15:56  /  550 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天看结构体小结
形式: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. }
复制代码

3 个回复

倒序浏览
很受用赞一个!
回复 使用道具 举报
围观学习!
回复 使用道具 举报
受教了··
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马