...
다음은 동적 할당을 통한 1차원 문자열 배열 공간 최적화 방법이다.
구조체 에서 사용하면 더더욱 좋다.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *title;
int i,tmp[101];//tmp라는 임시 대피소를 만든다. 원소수가 커서 오히려 낭비처럼 보이지만 입력하는 도서수가 많을 수록 오히려 전체적으로 공간 절약이 된다.
for(i=0;/*i < 갯수*/;i++)
{
gets(tmp);//도서 입력 title이 아닌 tmp에 입력 받는다. title에 입력 받으면 에러
title = (char*)malloc(sizeof(char) * (strlen(tmp) + 1));//tmp에 저장된 문자열길이 + 널문자 로 공간의 크기를 확정 짓는다.
strcpy(title, tmp);//딱 알맞게 갖추어진 공간에 문자열 복사
free(title);
}
}
인용한 부분에 있어 만일 누락된 출처가 있다면 반드시 알려주시면 감사하겠습니다
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.