Introduction
En programmation C, nous pouvons concaténer deux chaînes de caractères à l'aide de pointeurs en pointant l'adresse de base des deux chaînes vers une variable de pointeur de type char, en incrémentant le pointeur jusqu'à la fin de la première chaîne, puis en copiant les caractères de la deuxième chaîne à la fin de la première.
Dans ce labo (LabEx), vous apprendrez à concaténer deux chaînes de caractères à l'aide de pointeurs en langage de programmation C.
Créer un nouveau fichier
Tout d'abord, ouvrez votre éditeur de texte et créez un nouveau fichier nommé main.c dans le répertoire ~/project/.
Inclure des fichiers d'en-tête
Dans cette étape, incluez les fichiers d'en-tête nécessaires dans le programme, qui sont stdio.h et stdlib.h.
#include <stdio.h>
#include <stdlib.h>
Définir la fonction main()
La fonction main() est utilisée pour définir le corps du programme C.
int main(){
// TODO: Write code here
return 0;
}
Déclarer des variables
Dans cette étape, déclarez deux tableaux de caractères aa et bb de taille 100 octets chacun.
char aa[100], bb[100];
Saisir des chaînes de caractères
Dans cette étape, l'utilisateur fournira les valeurs pour les deux chaînes de caractères aa et bb et les stockera à l'aide de la fonction gets().
printf("Enter the first string: ");
gets(aa);
printf("Enter the second string to be concatenated: ");
gets(bb);
Concaténer des chaînes de caractères
Dans cette étape, nous allons définir deux pointeurs de caractères a et b et commencer à concaténer la deuxième chaîne de caractères bb avec la première aa.
char *a = aa;
char *b = bb;
while(*a){
a++;
}
while(*b){
*a = *b;
b++;
a++;
}
*a = '\0';
*apointe vers la prochaine adresse mémoire tant qu'il ne pointe pas vers la fin de la première chaîne de caractèresaa. Cela est réalisé à l'aide de l'expressionwhile(*a).- Ici,
aest incrémenté vers la prochaine adresse mémoire jusqu'à ce qu'il atteigne la fin de la première chaîne de caractèresaa. *bpointe vers la prochaine adresse mémoire jusqu'à ce qu'il ne pointe pas vers la fin de la deuxième chaîne de caractèresbb. Cela est réalisé à l'aide de l'expressionwhile(*b).- Pour chaque adresse mémoire,
aest assigné à la valeur pointée parb, puis tantaquebsont incrémentés. Cela est réalisé à l'aide de l'expression*a = *b; b++; a++; - Le
'\0'représente la fin de la chaîne de caractères.
Afficher la chaîne de caractères concaténée
Dans cette étape, affichez la chaîne de caractères concaténée après la fin du processus de concaténation.
printf("\nThe string after concatenation is: %s ", aa);
Compiler et exécuter
Dans cette étape, compilez et exécutez le fichier main.c en utilisant les commandes suivantes :
gcc main.c -o output
./output
Code complet
Voici le code complet du programme de concaténation de chaînes de caractères utilisant des pointeurs :
#include <stdio.h>
#include <stdlib.h>
int main(){
char aa[100], bb[100];
printf("Enter the first string: ");
gets(aa);
printf("Enter the second string to be concatenated: ");
gets(bb);
char *a = aa;
char *b = bb;
while(*a){
a++;
}
while(*b){
*a = *b;
b++;
a++;
}
*a = '\0';
printf("\nThe string after concatenation is: %s ", aa);
return 0;
}
Résumé
Dans ce laboratoire, vous avez appris à concaténer deux chaînes de caractères en utilisant des pointeurs dans le langage de programmation C. Nous avons réalisé cela en pointant l'adresse de base des deux chaînes vers une variable pointeur de caractères, en incrémentant le pointeur jusqu'à la fin de la première chaîne, puis en copiant les caractères de la deuxième chaîne à la fin de la première. N'oubliez pas de compiler et d'exécuter le code pour vérifier son fonctionnement.



