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 :

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;
   }
}
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
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;
}
Dans ce cas de figure j'obtiens : sizeof(stream) : 4
Pourquoi????
Merci d'avance

[Balises [CODE] ajoutées par gl, merci d'y penser à l'avenir]