我正在尝试创建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
?
答案 0 :(得分:2)
数字是十六进制的
0x20 - 0x18 = 8