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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© skywan 中级黑马   /  2015-7-22 20:42  /  476 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

结构体数组和一维数组、二维数组学习内容无大区别,要注意的是结构体的定义和初始化有稍微的不同。
结构体对字符串的定义有两种,使用方法也不一样。
要是结构体是这样char *name;定义的,则可以直接boy[1].name=“xiao hong";初始化;
要是结构体是这样char name[21];定义的,则要这样初始化:boy[1].name=“xiao hong";strcpy(boy[1].name,"xiao hong");
下面也是对结构体数组的遍历:
  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.         for (int i = 0; i < 5; i++)
  19.         {
  20.                 printf("学号=%d,姓名=%s\n", boy[i].num, boy[i].name);
  21.         }
  22.         return 0;
  23. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马