内存中的C 2d动态数组

时间:2017-02-08 14:18:17

标签: c multidimensional-array

我正在尝试创建2d动态数组。

我的代码

char **tab;
tab = malloc(3 * sizeof(char *));
printf("%zu\n", sizeof(char *));
printf("%p\n", tab);
tab++;
printf("%p\n", tab);
tab++;
printf("%p\n", tab);
return  0;

它给了我以下输出。

8
0xfcd010
0xfcd018
0xfcd020

我的问题是为什么第2和第3个元素之间的区别仅为2

1 个答案:

答案 0 :(得分:2)

数字是十六进制的

  

0x20 - 0x18 = 8