Je débute en C - donc je me pose plein de questions! -et j'aurai besoin d'éclaircissement quant au fonctionnement du code ci-dessous :
On obtient à l'écran : sizeof(stream) : 10, jusqu'ici tout va bien, mais si on initialise la variable avec malloc de cette maniere :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 int main() { char stream[10]; printf("sizeof(stream) : %d\n", sizeof(stream)); return 0; } }
Dans ce cas de figure j'obtiens : sizeof(stream) : 4
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int main() { char* stream; stream= malloc(10*sizeof(char)); if(!stream) { printf("sizeof(stream) : %d\n", sizeof(stream)); free(stream); } return 0; }
Pourquoi????
Merci d'avance
[Balises [CODE] ajoutées par gl, merci d'y penser à l'avenir]
Partager