| |
Programmation C |
|
Affectation d'une
valeur numérique :
La variable qui se voit affecter une valeur doit impérativement être
déclarée au début du programme, et bien sur, avant sa première affectation.
Lors de la déclaration d'une variable, vous avez indiqué un nom et un type. Le
nom est inchangeable, mais le type peut être modifié. Une variable, comme son
nom l'indique, héberge une valeur variable, qui peut être modifiée à tout
moment, au cours de l'exécution du programme.
L'opérateur = permet d'affecter une valeur à une variable. Ce signe égal (=) n'a
pas le sens mathématique habituel définissant une égalité entre les deux membres
de part et d'autre de ce signe. En C, l'affectation se lit dans un sens
allant de la droite vers la gauche.
short x;
x = 50;
La valeur numérique 50 est
copiée pour être stockée dans l'espace mémoire de 2 octets de la variable de
type short, et de nom x.
long Tab[40];
Tab[22] = 50;
Le 23ème élément du tableau se voit affecter la valeur numérique 50. Il en va de
même pour tous les types de données numériques.
Affectation d'une
chaîne de caractères :
Pour affecter un
caractère, ou une chaîne, utilisez la fonction
strcpy();.
Cette fonction attend deux paramètres. La chaîne a affecter, et la variable
recevant la chaîne.
Exemple :
char Chaine[255];
strcpy(Chaine,"chaine de caracteres");
Une erreur serait
normalement renvoyée en cas de dépassement du nombre d'éléments maximum autorisé
par la variable de tableau. dans le cas présent,
Chaine,
ne peut recevoir plus de 254 caractères, le dernier étant réservé au caractère
nul (\0) pour indiquer la fin de la chaîne. Cependant, d'après un test effectué
sur le compilateur Miracle C, celui-ci semble redimensionner
implicitement la longueur du tableau pour stocker l'ensemble de la chaîne.
char Chaine[5];
strcpy(Chaine,"chaine de caracteres");
Ceci est faux, mais la
longueur du tableau est implicitement redimensionnée par le compilateur et ne
provoque aucune erreur.
Remarque :
char Chaine[5];
int Nombre;
strcpy(Chaine,"50");
Nombre = 50;
La variable
Chaine
contient la chaîne de caractères "50", alors que la variable
Nombre
contient la valeur numérique 50.
Une erreur vous sera donc renvoyée, si vous tentez l'opération suivante :
char Chaine[5];
int Nombre;
int Total;
strcpy(Chaine,"50");
Nombre = 50;
Total = Chaine + Nombre; // erreur renvoyée par le compilateur.
Il est en effet impossible
d'additionner des lettres et des chiffres.
Application :
dans l'exemple suivant, nous allons affecter plusieurs données au type
correspondant :
//+-------------------------------------+
//| Déclarations
|
//+-------------------------------------+
short Nb;
char Chaine[255];
int NbTab[5];
struct Ma_Structure
{
int ID_PRODUIT;
char Libelle[50];
Char Description[255];
double Prix;
} produits;
//+-------------------------------------+
//| Exemples
d'affectations |
//+-------------------------------------+
Nb = 50;
strcpy(Chaine,"Bienvenue en C");
NbTab[0]=8;
NbTab[4]=55;
Ma_Structure.ID_PRODUIT = 5412;
Ma_Structure.Prix = 49.50;
strcpy(Ma_Structure.Libelle,"Magazine");
strcpy(Ma_Structure.Description,"Hors serie a ne pas rater !!");
| [
<< Page précédente
|
| |
Page suivante >>
] |
|