Введение
В программировании на языке C можно объединять (конкатенировать) две строки с использованием указателей. Для этого нужно присвоить базовый адрес двух строк переменной-указателю на символы, переместить указатель в конец первой строки и затем скопировать символы второй строки в конец первой.
В этом практическом занятии (лабораторной работе) вы научитесь объединять две строки с использованием указателей на языке программирования C.
Создать новый файл
Во - первых, откройте текстовый редактор и создайте новый файл с именем main.c в директории ~/project/.
Включить заголовочные файлы
На этом этапе подключите необходимые заголовочные файлы в программу: stdio.h и stdlib.h.
#include <stdio.h>
#include <stdlib.h>
Определить функцию main()
Функция main() используется для определения тела программы на языке C.
int main(){
// TODO: Write code here
return 0;
}
Объявить переменные
На этом этапе объявите два символьных массива aa и bb, каждый размером 100 байт.
char aa[100], bb[100];
Ввести строки
На этом этапе пользователь введет значения для двух строк aa и bb и сохранит их с использованием функции gets().
printf("Enter the first string: ");
gets(aa);
printf("Enter the second string to be concatenated: ");
gets(bb);
Конкатенация строк
На этом этапе мы определим два символьных указателя a и b и начнем объединять вторую строку bb с первой строкой aa.
char *a = aa;
char *b = bb;
while(*a){
a++;
}
while(*b){
*a = *b;
b++;
a++;
}
*a = '\0';
*aуказывает на следующую ячейку памяти, пока не достигнет конца первой строкиaa. Это достигается с использованием выраженияwhile(*a).- Здесь
aинкрементируется до следующей ячейки памяти до тех пор, пока не достигнет конца первой строкиaa. *bуказывает на следующую ячейку памяти до тех пор, пока не достигнет конца второй строкиbb. Это достигается с использованием выраженияwhile(*b).- Для каждой ячейки памяти
aприсваивается значение, на которое указываетb, а затем иa, иbинкрементируются. Это достигается с использованием выражения*a = *b; b++; a++; '\0'представляет конец строки.
Вывести конкатенированную строку
На этом этапе выведите объединенную строку после завершения процесса конкатенации.
printf("\nThe string after concatenation is: %s ", aa);
Компилировать и запустить
На этом этапе скомпилируйте и запустите файл main.c с использованием следующих команд:
gcc main.c -o output
./output
Полный код
Ниже приведен полный код программы по конкатенации строк с использованием указателей:
#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;
}
Резюме
В этом практическом занятии (лабораторной работе) вы научились конкатенировать две строки с использованием указателей на языке программирования C. Мы сделали это, присвоив базовый адрес двух строк переменной - символьному указателю, а затем переместили указатель до конца первой строки и скопировали символы второй строки в конец первой. Не забудьте скомпилировать и запустить код, чтобы проверить его работоспособность.



