如何在c++中定义结构
How to define a struct in c++?
我正在尝试用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;
};
相关文章:
- 在类构造函数中定义结构变量的参数
- C++ 通过函数传递自定义结构
- 在C++中循环访问自定义结构列表的小问题
- 如何在Qt中使用QDataStream将自定义结构保存/加载到二进制文件中?
- 如何在C++中的.h文件中的类中定义结构
- 如何定义C结构:C-linkage和udt
- 结构向量中自定义结构函数的内存使用
- 类型转换自定义结构
- 使用结构绑定更改自定义结构的值
- 信号槽自定义结构问题
- 如何将unordered_set与自定义结构一起使用?
- 定义结构中没有默认构造函数的类
- 为什么C++在自定义结构向量时会出现 ostream 重载问题?
- 通过自定义结构和链接列表类中的C 中的哈希表
- 从自定义结构数组中提取数据
- 无法使用自定义结构的属性
- 通过引用将自定义结构的向量传递给 boost::compute 闭包或函数
- 如何从输入中定义的"external" int 定义结构中的数组大小
- 定义结构数组
- 在Cython中定义C 结构返回类型