C语言typedef问题与结构体数组问题
问题描述:
typedef struct students
{
long code;
char *name;
float score[3];
float sum;
}cla[40];
这样定义是什么意思呢?
cla代替了struct students?
正确的写法是怎么样的
答
定义了一个班级类型,它代表40个学生,cla代替了students[40]
以后可以定义变量cla cla1;
cla1就是一个40个students组成的数组
语法上没问题,不过个人觉得这种写法除了让别人不爽自己不爽之外,并没有什么卵用。
答
这么写是错的,应该写
struct students
{
long code;
char *name;
float score[3];
float sum;
};
students cla[40];
答
你的这个定义没问题。cla就是一个类型别名,它是结构体元素为你结构体中定义的各个元素,长度为40的数组。
答
这个定义是没问题的,意思是定义了一个结构体类型student,然后又定义了一个类型为student的数组变量cla[40];
你的定义等价于:
typedef struct students
{
long code;
char *name;
float score[3];
float sum;
};
student cla[40];