gpt4 book ai didi

c++ - 使用指针表示法访问结构数组

转载 作者:太空狗 更新时间:2023-10-29 19:46:53 24 4
gpt4 key购买 nike

我正在尝试自己学习 C++,并且正在尝试这个。我有一个结构,其中一个成员是另一个结构的数组。我对替代符号有疑问。

我定义的结构是

struct employeeRecordT {
string name;
string title;
string ssnum;
double salary;
int withholding;
};

struct payrollT {
int num;
employeeRecordT *array;
} payroll;

我正在使用以下结构为工资单分配内存

payroll.array = new employeeRecordT[payroll.num];

其中 payroll.num 表示数组中的元素数。我可以使用数组表示法访问 employeeRecordT 的元素名称,例如

payroll.array[i].title

我想知道如何使用指针表示法访问它,我试过了

payroll.(array+i)->name = "Vikas";

我从 g++ 得到以下错误信息

toy.cc:30:13: 错误:'(' 标记前应有不合格的 idtoy.cc:30:14: 错误:'array' 未在此范围内声明

我想了解我应该使用什么以及为什么?能不能帮忙解释一下。

提前致谢。

问候,维卡斯

最佳答案

(payroll.array+i)->name = "Vikas";

arraypayroll 的成员,因此当您执行 payroll.(array+i) 时,括号符号(即“do this first”)尝试使用变量array,而不是payroll范围内的变量。

当然,使用C++,更好的方案是Neils。如果可能,请使用 std::vector 而不是您自己的动态分配存储。

关于c++ - 使用指针表示法访问结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6290704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com