Johs32 wrote:
> Jeg har en funktion der tager en pointer til en struct som argument:
>
> void blop(struct test *new);
>
> i main gør jeg følgende:
>
> struct test new;
> blop(&new);
>
>
> Jeg går udfra at idet jeg ikke erklærer new som en pointer så er der ingen
> grund til at malloc'ke den.
Korrekt.
> Havde jeg derimod i main gjort:
>
> struct test *new;
>
> så skulle den malloc'kes før jeg kaldte blop:
>
> new=malloc(sizeof(struct test));
>
> blop(new);
>
> Er ovenstående korrekt?
Ja.
Du kunne dog også lave det sidste eksempel med:
struct test Whatever;
struct test *new = &Whatever;
blop(new);
Så du behøver ikke malloc'e selvom det er en pointer, men den skal
pege på noget.
(I øvrigt er new måske ikke det mest velegnede navn til en variabel, en
dag skal din kode måske køre som C++, og så kan det give problemer)
--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
But it's mine - Bertel