소개
C 프로그래밍에서, 우리는 두 문자열의 기본 주소를 char 포인터 변수로 지정하고, 포인터를 첫 번째 문자열의 끝까지 증가시킨 다음, 두 번째 문자열의 문자를 첫 번째 문자열의 끝에 복사하여 포인터를 사용하여 두 문자열을 연결할 수 있습니다.
이 랩에서는 C 프로그래밍 언어에서 포인터를 사용하여 두 문자열을 연결하는 방법을 배우게 됩니다.
C 프로그래밍에서, 우리는 두 문자열의 기본 주소를 char 포인터 변수로 지정하고, 포인터를 첫 번째 문자열의 끝까지 증가시킨 다음, 두 번째 문자열의 문자를 첫 번째 문자열의 끝에 복사하여 포인터를 사용하여 두 문자열을 연결할 수 있습니다.
이 랩에서는 C 프로그래밍 언어에서 포인터를 사용하여 두 문자열을 연결하는 방법을 배우게 됩니다.
먼저, 텍스트 편집기를 열고 ~/project/ 디렉토리에 main.c라는 새 파일을 생성합니다.
이 단계에서는 프로그램에 필요한 헤더 파일인 stdio.h와 stdlib.h를 포함합니다.
#include <stdio.h>
#include <stdlib.h>
main() 함수는 C 프로그램의 본문을 정의하는 데 사용됩니다.
int main(){
// TODO: Write code here
return 0;
}
이 단계에서는 각각 100 바이트 크기의 두 개의 문자 배열 aa와 bb를 선언합니다.
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 프로그래밍 언어에서 포인터를 사용하여 두 문자열을 연결하는 방법을 배웠습니다. 두 문자열의 기본 주소를 char 포인터 변수로 지정하고, 포인터를 첫 번째 문자열의 끝까지 증가시킨 다음, 두 번째 문자열의 문자를 첫 번째 문자열의 끝에 복사하여 이를 수행했습니다. 기능성을 확인하기 위해 코드를 컴파일하고 실행하는 것을 잊지 마십시오.