结构体嵌套结构体数组的内存地址以及偏移

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

typedef struct Request_name
{
int a;
}Request_name;

struct bus_route
{
char name[20]; 20byte
char password[8]; 8byte
Request_name requestName[20]; 4*20byte
int status 4byte
}*Onuser;

Onuser=new bus_route(20);
Onuser->requestName[30].a = 400;

对应于Onuser[1].requestName[2]=400


1个Onuer = 20 + 8 + 4*20 + 4 = 112byte


Onuser->requestName[30] = 20 + 8 + 4(requestName的sizeof)* 30 = 148 byte
则148 - 112 - 20 - 8 = 8 byte ( 0(【0】) - 4(数组【1】) - 8【2】)
112为第一个Onuser[0].
因此148为Onuser[1].requestName[2]




new int(10); //创建一个指向int类型数据的指针,并初始化它所指对象的值为10。
new int[10]; //创建指向10个大小的int数组的指针。

相关文档
最新文档