keshav desai Ответов: 1

С динамическим выделением памяти


void main()
{
	long int *ptr;
	clrscr();
	ptr=(long int*)malloc();
	*ptr=123456789;
	printf("%ld",*ptr);
	getch();
}

here I have not defined the size of malloc than also
it printing what is the reason

What I have tried:

output on the console is 123456789

Richard MacCutchan

Это даже не должно компилироваться как malloc требуется параметр, дающий требуемый размер в байтах.

keshav desai

Он компилируется без каких либо ошибок или предупреждений я использую компилятор turbo C

Richard MacCutchan

Затем вы должны проверить документацию turbo C на malloc, чтобы увидеть, какие результаты следует ожидать, когда вы не предоставляете значение размера.

1 Ответов

Рейтинг:
0

Patrice T

Цитата:
здесь я не определил размер malloc, чем также
это печать в чем причина

Проверка динамического распределения памяти-это ваша обязанность, правильное использование malloc () - это ваша ответственность.
C может ничего принять, пока она рухнет.

Совет: прочтите документацию malloc ().