동적 할당된 문자열 배열로 사용자 입력 받기
추천 자료: ASP.NET Core 인증 및 권한 부여
사용자로부터 입력을 받아 동적 메모리 할당된 문자열 포인터 배열에 저장하고 출력하는 방법에 대해 알아보겠습니다.
코드: string_array_input.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define ARR_SIZE 3
int main(void)
{
// 포인터 배열 선언
char* a[ARR_SIZE];
// 동적 메모리 할당
for (int i = 0; i < ARR_SIZE; i++)
{
a[i] = (char*)malloc(100 * sizeof(char));
}
// 사용자 입력 받기
for (int i = 0; i < ARR_SIZE; i++)
{
scanf("%s", a[i]);
}
// 배열 내용 출력
for (int i = 0; i < ARR_SIZE; i++)
{
printf("%s\n", a[i]);
}
// 동적 메모리 해제
for (int i = 0; i < ARR_SIZE; i++) {
free(a[i]);
}
return 0;
}
홍길동 백두산 임꺽정
홍길동
백두산
임꺽정
이 예제에서는 문자열 포인터 배열을 char* a[ARR_SIZE];
로 선언하고, malloc()
함수를 사용해 동적 메모리를 할당한 뒤, scanf()
함수로 사용자 입력을 받아 배열에 저장하며, printf()
함수를 통해 저장된 문자열을 출력하고 마지막으로 free()
함수로 동적 할당된 메모리를 해제하는 과정을 보여줍니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!