Manuel de suivi dynamique Solaris

Constantes

Vous pouvez écrire des constantes entières au format décimal (12345), octal (012345) ou hexadécimal (0x12345). Les constantes octales (base 8) doivent être précédées d'un zéro comme préfixe. Les constantes hexadécimales (base 16) doivent être précédées du préfixe 0x ou 0X. Est attribué aux constantes entières le plus petit type capable de représenter leur valeur entre int, long et long long. Si la valeur est négative, la version signée du type est utilisée. Si la valeur est positive et trop grande pour la représentation de type signé, la représentation de type non signé est utilisée. Vous pouvez appliquer l'un des suffixes suivants à toute constante entière pour spécifier son type D de manière explicite :

u ou U

Version unsigned du type sélectionné par le compilateur

l ou L

long

ul ou UL

unsigned long

ll ou LL

long long

ull ou ULL

unsigned long long

Les constantes à virgule flottante sont toujours rédigées avec une virgule décimale (12,345), un exposant ( 123e45) ou les deux (123,34e-5). Le type double est attribué par défaut aux constantes à virgule flottante. Vous pouvez appliquer l'un des suffixes suivants à toute constante à virgule flottante pour spécifier son type en langage D de manière explicite :

f ou F

float

l ou L

long double

Les constantes caractères sont écrites sous la forme d'un seul caractère ou d'une séquence d'échappement figurant entre guillemets simples ('a'). Le type int leur est attribué. Elles sont équivalentes à une constante entière dont la valeur est déterminée par la valeur du caractère dans le jeu de caractères ASCII. Pour obtenir la liste des caractères et de leurs valeurs, reportez-vous à ascii(5). Vous pouvez également utiliser l'une des séquences d'échappement spéciales présentées dans le tableau suivant dans vos constantes caractères. D prend en charge les mêmes séquences d'échappement détectées en ANSI-C.

Tableau 2–5 Séquences d'échappement de caractères en langage D

\a

alerte 

\\

barre oblique inversée 

\b

retour arrière 

\?

point d'interrogation 

\f

saut de page 

\'

guillemet simple 

\n

retour à la ligne 

\”

guillemet double 

\r

retour chariot 

\0oo

valeur octale 0oo

\t

onglet horizontal 

\xhh

valeur hexadécimale 0xhh

\v

onglet vertical 

\0

caractère null 

Vous pouvez ajouter plusieurs spécificateurs de caractère entre guillemets simples pour créer des nombres entiers dont chaque octet est initialisé en fonction des spécificateurs correspondants. Les octets sont lus de gauche à droite à partir de la constante caractère et affectés au nombre entier résultant dans l'ordre correspondant à l'endian-ness natif de votre système d'exploitation. Vous pouvez ajouter jusqu'à huit spécificateurs de caractère dans une seule constante caractère.

Vous pouvez créer des constantes chaînes à l'aide de guillemets doubles ("hello"). Une constante chaîne ne peut pas contenir de caractère littéral de retour à la ligne. Pour créer des chaînes contenant des retours à la ligne, utilisez la séquence d'échappement \n plutôt qu'un retour à la ligne littéral. Par contre, elles peuvent contenir n'importe laquelle des séquences d'échappement des caractères spéciaux récapitulés pour les constantes caractères ci-dessus. De même qu'en ANSI-C, les chaînes sont représentées sous la forme de tableaux de caractères terminés par un caractère null (\0) ajouté implicitement à chaque constante chaîne que vous déclarez. Le type D spécial string est affecté aux constantes chaînes. Le compilateur D fournit un ensemble de fonctions spéciales de comparaison et de suivi des tableaux de caractères déclarés en tant que chaînes, comme indiqué dans le Chapitre6Chaînes de caractères.