如何在c++中定义结构

How to define a struct in c++?

本文关键字:定义 结构 c++      更新时间:2023-10-16

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

然后,我必须获取所有这些信息,并将其放入一个名为employees的EmployeeT结构数组中。

到目前为止我有这个。。。

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

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

谢谢各位

您所拥有的一切都很好,只是如果您想要一个灵活的数组成员(char name[]),它需要是结构中的最后一个字段。不过,您真正想要的可能是一个指针(char *name)或一个实数组(char name[SOME_SIZE])。

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

结构体需要知道它到底有多大,所以里面不能有未知大小的数组。

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

初始化使用时:

name = new name[SIZEOFARRAY];

而且,当你不再需要它时,不要忘记删除它:

delete [] name;

例如

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