Les chaînes de caractères

  1. Introduction
  2. Un caractère
  3. Chaîne de caractères

1. Introduction

Pour mieux aborder ce chapitre, nous allons introduire des notions d’un caractère, d’un tableau et du pointeur, bien que ces deux dernières seront vues dans les chapitres suivants.

2. Un caractère

Il est évident que vous sachiez ce que c’est un caractère avant qu’on vous parle d’une chaîne de caractères.

N’est ce pas qu’on a déjà vu ce que c’est un caractère ?

Je sais, les caractères on en a déjà parlé. Et d’ailleurs il n’y aura pas des nouveaux ici, mais il ne faut pas oublier que se rappeler est toujours mieux. Et ensuite, il y a des gens qui débarquent sur ce cours en passant par des moteurs de recherche, ils n’ont pas lu mes premiers cours, alors mieux ne pas les défavoriser.

Voyons clairement :
a s’git d’un caractère. B s’agit aussi d’un caractère, 8 est un caractère. B3 constituent deux caractères. Il faut savoir que a peut ne pas être un caractère. Pour qu’il soit un caractère, il faut qu’on détermine son type : char.

Pour déclarer un caractère, on fait ceci :
char nom-du-variable;

Exemple :

2. Chaîne de caractères

Avant de continuer, nous allons ouvrir une petite parenthèse sur les notions : tableau et pointeur.

Tableau

Par définition, un tableau est un ensemble d’emplacements mémoire qui portent le même nom et contiennent le même type de données.

Pour la déclaration, voici la syntaxe : type nom_tableau [index1] [index2]…

Exemple 1 :

Ici j’ai déclaré un tableau qui est montableau de 6 éléments. On a un seul index, donc montableau a une dimension.

Exemple 2 :

Ici on a deux index, donc montableau a deux dimensions. montableau a 6 lignes et 8 colonnes.

Pointeur

Un pointeur est une variable qui a pour valeur une adresse mémoire.

Dans ce tableau, on voit que a contient l’adresse de b. on dit que a est un pointeur vers b.

Mais attention! La déclaration de la variable pointeur ne se fait pas de la même façon qu’une variable ordinaire.

Par exemple ici nous pouvons dire ceci :
int b ;
int *a;

C’est ce symbole * qui fait savoir que a s’agit d’un pointeur. Il ne faut pas le confondre avec l’operateur de multiplication.

Maintenant qu’on a quelques notions de tableau et pointeur, on peut bien continuer notre cours.

Une chaîne de caractère est une séquence de caractères qui se termine par le caractère nul ( \0). Pour créer une chaîne de caractères, il faut bien déclarer un tableau de type char.

Exemple :

A. Initialisation d'une chaîne

Voyons quelques méthodes d'initialisations à travers des exemples :

Exemple 1 :

Exemple 2 :

Exemple 3 :

B. Utilisation avec un pointeur.

Pour accéder à une chaîne de caractères définie par un tableau de caractères, on utilise le nom du tableau sans les crochets (pointeur vers le premier caractère de la chaîne).

Exemple :

machaine est un pointeur vers le début de la chaîne. La fin de la chaîne est représentée par le caractère nul.

C. Chaîne et allocation de mémoire

Il est possible de créer une chaîne de caractère sans utiliser un tableau de caractères. Pour cela on définit un pointeur vers le début de chaîne et on place le caractère nul enfin de chaîne. Il y a 2 méthodes :

  • allocation de mémoire pour une chaîne littérale :
  • La mémoire est allouée au moment de la compilation du programme. L’emplacement mémoire est géré par le compilateur. Exemple :
  • Allocation dynamique
  • La mémoire est allouée au moment de l’exécution du programme. On utilise pour cela la fonction malloc. La fonction malloc permet de réserver l’espace mémoire.
    Syntaxe :
    #include
    Void *malloc(taille) ;

    Usage de malloc :

  • Déclaration d’un pointeur
  • Initialisation du pointeur a la valeur renvoyée par malloc.


  • Une question? Cliquez ici pour la poser.

    Retour sur le portail du langage C/C++