Если ваша документация компилятора явно не говорит о том, что void main()
является допустимой подписью, вместо этого используйте int main(void)
:
int main(void)
{
char *p = "hello";
return 0;
}
Где именно память для p
и строка"hello"
выделяется будет варьироваться в зависимости от реализации.Для форматов ELF и PE / COFF память для p
будет находиться внутри фрейма стека для main
, а память для "hello"
будет находиться в сегменте данных только для чтения (.rdata
для PE / COFF, .rodata
для ELF).