查找数组中给定索引的第一个和最后一个字节的地址

时间:2015-07-19 02:16:26

标签: c++ arrays memory-address

我想知道我对以下问题的回答是否正确:

假设你有一个" int"数组声明为:int myArray [20]。第一个字节 数组的地址是1010.myArray [13]的第一个和最后一个字节的地址是什么? int的大小是4个字节。

这意味着这个数组中的每个索引占用4个字节是否正确?如果是这种情况,myArray [13]将在myArray [0]之后启动4x13 = 52个字节?这意味着第一个字节位于地址1062,最后一个字节是1065?

1 个答案:

答案 0 :(得分:2)

他们

static_cast<char*>(&myarray[13])

static_cast<char*>(&myarray[14]) - 1

没有

是的,你的计算是正确的。但请注意sizeof(int) 4的断言:我无法判断您是否指出了您的平台已经证实的事实,或者您是否认为这是一个通用常数(它不是“T)。