У меня есть запрос относительно динамического выделения памяти целочисленного указателя.
int main()
{
int *a;
*a = 5;
printf("value = %d\n", *a);
return 0;
}
Насколько я понимаю, приведенный выше фрагмент кода должен возвращать ошибку сегментации, которая происходит в моем ПК (Ubuntu 32bit).
Но один и тот же фрагмент кода, когда он выполняется на моем MacOS и в системе Fedora Linux, выводит как "значение = 5".Есть идеи, почему этот код работает на этих двух системах, даже если я не выделил память для целочисленного указателя?