LINUX.ORG.RU

странности с realloc


0

0

21                      if ((arr->arr = realloc(arr->arr, arr->size)) == NULL)
(gdb) x/32d arr->arr
0x804a050:      0       0       0       0
0x804a060:      0       0       0       0
0x804a070:      0       0       15      0
0x804a080:      0       0       0       0
0x804a090:      0       0       0       0
0x804a0a0:      0       0       0       0
0x804a0b0:      0       0       0       0
0x804a0c0:      0       0       0       0
(gdb) n
23                      for (; k < arr->size; k++)
(gdb) x/32d arr->arr
0x806b008:      0       0       0       0
0x806b018:      0       0       0       0
0x806b028:      0       135129  0       0
0x806b038:      0       0       0       0
0x806b048:      0       0       0       0
0x806b058:      0       0       0       0
0x806b068:      0       0       0       0
0x806b078:      0       0       0       0
(gdb) ???

Почему изменяется память? Размер массива до realloc'а 16*4б, после 32*4б.

Ответ на: комментарий от watashiwa_daredeska

я идиот!!! умножить на sizeof(int) забыл!!! Сорри за тупой пост...

blacktiger
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.