2017-02-08 2 views
-5

Я пытаюсь создать 2d динамический массив.C 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?

+5

Это не является - это шестнадцатеричное и разница 8. –

+1

... '8 9 ABCDEF 0' ... – LPs

+0

Всегда указывайте [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) –

ответ

2

Цифры шестнадцатеричной

0x20 - 0x18 = 8

Смежные вопросы