如何在c ++中定义结构?

时间:2012-02-01 02:54:14

标签: c++ struct

我正在尝试用c ++制作工资单程序。在我的程序开始时,我必须定义一个名为EmployeeT的结构,它将所有关于员工的信息存储在一个单元中。

然后我必须把所有这些信息都放在一个名为employees的EmployeeT结构数组中。

到目前为止,我有这个......

typedef struct 
{
  char name[];
  char title;
  double gross;
  double tax;
  double net;
}  EmployeeT;

那么,我错过了什么或做错了什么?

谢谢你们

4 个答案:

答案 0 :(得分:3)

你有什么是好的,除了你想要一个灵活的数组成员(char name[]),它需要是结构中的最后一个字段。可能你真正想要的是指针(char *name)或真实数组(char name[SOME_SIZE])。

答案 1 :(得分:2)

将char name []更改为char name *。

初始化使用时:

name = new name[SIZEOFARRAY];

并且,当你不再需要它时,别忘了删除它:

delete [] name;

答案 2 :(得分:2)

当你声明char name []时,你需要给它一个数组的长度,如果它是静态的。否则,将其声明为指针,以便稍后可以动态创建数组。

结构需要准确知道它的大小,所以你不能在其中包含一个未知大小的数组。

答案 3 :(得分:0)

例如

struct stu
{
int num;
char name[20];
char sex;
float score;
};