Manuel de suivi dynamique Solaris

Assignation de chaîne

Contrairement à l'assignation des variables char *, les chaînes sont copiées par valeur et non par référence. L'assignation de chaîne est réalisée à l'aide de l'opérateur = et copie les octets réels de la chaîne de l'opérande source jusqu'à l'octet nul, ce dernier compris, dans la variable située à gauche qui doit être de type string. Vous pouvez créer une nouvelle variable de type string en lui assignant une expression de type string. Par exemple, l'énoncé en D

s = "hello";

doit créer une nouvelle variable s de type string et y copier les 6 octets de la chaîne "hello" (5 caractères imprimables, plus l'octet nul). L'assignation de chaîne est un processus similaire à la fonction de bibliothèque du langage C strcpy(3C), hormis le fait que si la chaîne source dépasse la limite de stockage de la chaîne de destination, la chaîne qui en résulte est automatiquement tronquée à cette limite.

Vous pouvez également assigner à une variable de chaîne une expression d'un type compatible avec les chaînes. Le cas échéant, le compilateur D promeut automatiquement l'expression source en type de chaîne et exécute une assignation de chaîne. Le compilateur D autorise la promotion de n'importe quelle expression de type char * ou char[n] (c'est-à-dire un tableau scalaire de char de n'importe quelle taille) en string.