Retourner une adresse de variable. pas de malloc ?
Bonjour.
Voici mon interrogation.
Je me demande la nuance entre 2 codes.
dans un cas on déclare un pointeur et on malloc(), dans l'autre on déclare un contenu et on renvoie le pointeur.
Au niveau du mécanisme du programme, est-ce que dans le cas ou on ne fait pas de malloc, le programme gère un 'malloc' automatique qui doit être free() ? Parce que pour moi on alloue une certaine mémoire mais sans malloc.
Qu'en pensez vous ?
Code:
1 2 3 4 5 6 7 8 9 10
|
struct color *color_new(char newred, char newgreen, char newblue)
{
struct color new;
new.red = newred;
new.green = newgreen;
new.blue = newblue;
return (&new);
} |
Code:
1 2 3 4 5 6 7 8 9 10
|
struct color *color_new(char red, char green, char blue)
{
struct color *new;
new = malloc(sizeof(*new));
new->red = red;
new->blue = blue;
new->green = green;
return (new);
} |