Пожалуйста, взгляните на этот фрагмент кода. Я выделяю один байт для первой переменной и другой байт для второго. Однако, похоже, компилятор выделяет больше (или я чего-то не хватает). Программа выводит обе строки, хотя их длина больше одного байта.c: распределение памяти (что происходит)
void main() {
char* some1 = malloc(1);
sprintf(some1,"cool");
char* some2 = malloc(1);
sprintf(some2,"face");
printf("%s ",some1);
printf("%s\n",some2);
}
Возможно, кто-нибудь может осветить то, что происходит, когда выделяется память.
Кстати: это тролль, а не круто, если вы имеете в виду то, что я думаю. – GManNickG
Какой тип 'main()' return? Я дам вам подсказку: он возвращает 'int', а не' void'. –