목차
없음
본문내용
입력 종료
str[i]=(char *)malloc(strlen(temp)+1); //문자열을 저장할 메모리 할당
strcpy(str[i], temp); //문자열 복사
i++; //제어변수 증가
if(i==max) //입력된 문자열의 수를 검사
{
printf("문자열 입력이 최대값을 모두 채웠습니다.\n");
break; //반복문을 빠져나간다
}
}
str[i]=0; //입력이 끝난 후에 포인터 배열을 널포인터로 마감
str_pr(str); //입력된 문자열을 함수를 호출하여 출력
i=0; //반복제어변수 초기화
while(str[i]!=0) //포인터 배열의 값이 널포인터가 아닐때까지
{
free(str[i]); //문자열을 저장한 메모리 반환
++i; //제어변수 증가
}
free(str); //동적으로 할당받은 포인터 배열 반환
return 0;
}
void str_pr(char **sp) //매개변수는 이중포인터변수
{
while(*sp != 0) //포인터 배열의 값이 널 포인터가 아닐때까지
{
printf("%s \n", *sp); //포인터 배열이 연결하고 있는 문자열 출력
sp++; //포인터 배열의 배열요소를 차례로 이동한다.
}
}
str[i]=(char *)malloc(strlen(temp)+1); //문자열을 저장할 메모리 할당
strcpy(str[i], temp); //문자열 복사
i++; //제어변수 증가
if(i==max) //입력된 문자열의 수를 검사
{
printf("문자열 입력이 최대값을 모두 채웠습니다.\n");
break; //반복문을 빠져나간다
}
}
str[i]=0; //입력이 끝난 후에 포인터 배열을 널포인터로 마감
str_pr(str); //입력된 문자열을 함수를 호출하여 출력
i=0; //반복제어변수 초기화
while(str[i]!=0) //포인터 배열의 값이 널포인터가 아닐때까지
{
free(str[i]); //문자열을 저장한 메모리 반환
++i; //제어변수 증가
}
free(str); //동적으로 할당받은 포인터 배열 반환
return 0;
}
void str_pr(char **sp) //매개변수는 이중포인터변수
{
while(*sp != 0) //포인터 배열의 값이 널 포인터가 아닐때까지
{
printf("%s \n", *sp); //포인터 배열이 연결하고 있는 문자열 출력
sp++; //포인터 배열의 배열요소를 차례로 이동한다.
}
}