История изменений
Исправление firkax, (текущая версия) :
Неизвестное распределение памяти - это не UB, я уже писал об этом. А запись за конец массива некоторые специально используют для разных целей. Одно из применений:
struct x {
int a;
int b;
char str[1];
};
struct x *p;
p = malloc(sizeof(struct x)+10);
p->str[5] = 1;
Применение «неизвестного распределения»:
void dump_stack(void) {
size_t j;
for(j=0; j<256; j++) {
printf("%02X ", *(((unsigned char*)&j)+j));
if((j%16)==15) printf("\n");
}
}
Исходная версия firkax, :
Неизвестное распределение памяти - это не UB, я уже писал об этом. А запись за конец массива некоторые специально используют для разных целей. Одно из применений:
struct x {
int a;
int b;
char str[1];
};
struct x *p;
p = malloc(sizeof(struct x)+10);
p->str[5] = 1;