asurport
成想
采纳率40%
2015-05-09 14:01 阅读 2.2k
已采纳

C语言typedef问题与结构体数组问题

typedef struct students
{
    long code;
    char *name;
    float score[3];
    float sum;
}cla[40];

这样定义是什么意思呢?
cla代替了struct students?
正确的写法是怎么样的
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    sheldor 程序狗觅食中 2015-05-09 14:17

    定义了一个班级类型,它代表40个学生,cla代替了students[40]
    以后可以定义变量cla cla1;
    cla1就是一个40个students组成的数组

    语法上没问题,不过个人觉得这种写法除了让别人不爽自己不爽之外,并没有什么卵用。

    点赞 评论 复制链接分享
  • devmiao devmiao 2015-05-09 14:13
     这么写是错的,应该写
    struct students
    {
        long code;
        char *name;
        float score[3];
        float sum;
    };
    students cla[40];
    
    点赞 2 评论 复制链接分享
  • havedream_one havedream_one 2015-05-09 14:57

    这个定义是没问题的,意思是定义了一个结构体类型student,然后又定义了一个类型为student的数组变量cla[40];

    你的定义等价于:

    typedef struct students
    {
    long code;
    char *name;
    float score[3];
    float sum;
    };
    student cla[40];

    点赞 1 评论 复制链接分享
  • oyljerry oyljerry 2015-05-09 14:20

    你的这个定义没问题。cla就是一个类型别名,它是结构体元素为你结构体中定义的各个元素,长度为40的数组。

    点赞 评论 复制链接分享

相关推荐