Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Ave , jednego za bardzo nie moge zrozumiec...
main()
{ int *p,n;
scanf("%d",&n);
p=(int*)malloc(n*sizeof(int)); //L1
// p=malloc(n*sizeof(int)); //L2
}
Czym sie różni L1 od L2 ?
Bede wdzieczny za odpowiedz
Offline
W L1 dokonujesz rzutowania na int*, a w L2 nie. Malloc jako taki nie zwaraca wskaźnika na int, czy char, tylko void*. Pamiętam, że chyba pod C był problem z L2, bo kompilator odmawiał domyślnego rzutowania (albo tylko warning wyrzucał? wieeeki całe nie używałem malloca...).
Pozdrawiam,
Offline