加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 使用指针表示法访问Structs数组

发布时间:2020-12-16 10:19:20 所属栏目:百科 来源:网络整理
导读:我正在尝试自己学习C并且正在尝试这个.我有一个结构,其成员是另一个结构的数组.我有一个关于替代符号的问题. 我定义的结构是 struct employeeRecordT { string name; string title; string ssnum; double salary; int withholding;};struct payrollT { int n
我正在尝试自己学习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:错误:在'(‘令牌之前预期的不合格ID
toy.cc:30:14:错误:’array’未在此范围内声明

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

提前致谢.

问候,
维卡斯

解决方法

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

数组是工资单的成员,所以当你在进行工资单时(数组i),括号表示法(即“先做这个”)试图使用变量数组,而不是工资单范围内的变量数组.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读