Si je l'ai fait :
#define MAXLINE 5000
Quel est le type de MAXLINE ? Dois-je supposer qu'il s'agit d'un int
? Puis-je le tester d'une manière ou d'une autre ?
En général, comment peut-on déterminer le type de #define
ed variable ?
Si je l'ai fait :
#define MAXLINE 5000
Quel est le type de MAXLINE ? Dois-je supposer qu'il s'agit d'un int
? Puis-je le tester d'une manière ou d'une autre ?
En général, comment peut-on déterminer le type de #define
ed variable ?
Nous appelons cette macro ou préprocesseur, qui est utilisée pour remplacer les chaînes de caractères du contenu du fichier source. Lisez ceci : https://en.wikipedia.org/wiki/C_macro
Oui, vous pouvez supposer que c'est un int
.
En fait, toutes les autres réponses sont correctes. Ce n'est pas C, c'est juste une directive qui dit au préprocesseur de faire des substitutions textuelles substitutions textuelles, et en tant que telle, elle n'a pas de type. Cependant, si vous ne faites pas de choses funky avec lui (comme l'astuce ## du préprocesseur), vous allez généralement utiliser MAXLINE
comme une sorte de constante, et le préprocesseur le remplacera par 5000
qui est en effet une constante explicite. Et les constantes ont un type : 5000
est un int
. Une constante écrite sous la forme d'un décimal, sans suffixe (comme U ou L), sera interprétée par le compilateur comme un le compilateur comme un int
, long int
o unsigned long int
: le premier de ces types qui convient.
Mais cela n'a bien sûr rien à voir avec le préprocesseur. Vous pourriez réécrire votre question sous la forme "quel est le type de 5000
?", sans #define
.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.