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



