Allocation dynamique de mémoire
Bonjour.
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
int main(int argc, char *argv[])
{
Heap* f;
createHeap(f);
printf("f has n= %i nodes\n",f->nodes);
return 0;
}
//this function creates a heap: memory allocation and data fields are initialised.
Heap* createHeap(Heap* f){
f = (Heap*)malloc(sizeof(Heap*));
initialise(f);
return f;
}
void initialise(Heap* f){
f->nodes = 100;
f->min = NULL;
} |
Normalement f->nodes = 100; mais là ça me dit que ça vaut 0. Une idée pourquoi?
ps: je tiens a préciser que la signature de la fonction est imposée. sinon j'aurais fait
[code]
Bonjour.
Voici mon code:
Code:
1 2 3 4 5 6
|
Heap* createHeap(){
Heap* f = (Heap*)malloc(sizeof(Heap*));
initialise(f);
return f;
} |