Возможный дубликат:
новички вопросов о malloc и sizeof
Я пытаюсь прочитать строки в программе. Когда я заметил, что строки иногда были повреждены, я попробовал следующий код:
void *mallocated = malloc(100);
printf("sizeof(mallocated) = %d\n", sizeof(mallocated));
В соответствии с моей программой размер mallocated
был 8
, хотя я выделил для него 100 байтов. Из-за этого, всякий раз, когда я пытаюсь сохранить строку длиной более 8 байтов, все после 8-го байта иногда исчезает. Почему это происходит, и как я могу его предотвратить?