sizeof运算符和多维表

时间:2014-01-09 19:13:53

标签: c++ sizeof

我遇到了问题,因为我不知道sizeof运算符的工作原理。谁能告诉我为什么它给我4个以下代码?

int tab[2] = {1, 5};
int *filePathTab[1] = {NULL};
filePathTab[0] = tab;
cout << sizeof(filePathTab[0]);

3 个答案:

答案 0 :(得分:4)

filePathTab[0]int *为元素。您计算机上的sizeofint *为4个字节。如果您想知道sizeof int *所指向的intcout << sizeof(*filePathTab[0]); ,您必须取消引用指针:

sizeof

可能会发现您计算机上的int和{{1}}也是4个字节。

答案 1 :(得分:2)

因为filePathTab[0]的类型为int*filePathTab是一个指针数组,您正在考虑第0个元素)以及指向int的指针的大小机器恰好是4 字节

答案 2 :(得分:2)

Sizeof为您提供参数的大小(以字节为单位)。由于指向int的指针长度为4个字节(这取决于系统),因此sizeof的输出为4。