Bonjour,

Je viens de m'apercevoir que la macroconstante NULL n'était pas définit dans le fichier <stdio.h>. Elle l'est dans stdlib.h, string.h etc...

Pourtant, le programme suivant compile bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#include <stdio.h>
 
int
main ()
{
	char *s = NULL;
	printf("NULL = %p\n", NULL);
	return 0;
}
Est ce que le compilateur (gcc dans mon cas), inclut automatiquement stdlib afin de définir NULL ?

Ce n'est pas une question cruciale, mais j'aimerai comprendre pourquoi NULL est définit alors qu'elle n'a aucune raison de l'être.

Merci d'avance