반응형
문자열의 배열을 인수로 받아서 저장된 문자열을 전부 출력하는 pr_str_array() 함수를 작성하여 테스트하여 보자. pr_str_array()는 다음과 같은 원형을 가진다.
void pr_str_array(char **dp, int n);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <stdio.h> #define SIZE 10 void pr_str_array(char **dp, int n); int main(void) { char *p[SIZE]={"넌 알 필요 없다!", "알 필요 없다고?", "하이구래! 하이구래!", "타즈딩고!", "둠 해머를 위하여!", "감사합니다!", "이게 아닌데..", "네 영혼에..", "용족들은 예의가 없단 말이야~", "바람이여~"}; pr_str_array(p,SIZE); return 0; } void pr_str_array(char **dp, int n) { char i; for(i=0;i<n;i++) { printf("%d번째 문자열 : %s\n",i,*(dp+i)); //포인터배열의 이름에서 크기만큼 증가시켜야함 } } |
char *p[10] 이라고 선언을 했다면 각각의 배열 p[0]부터 p[9]는 포인터겠죠. 그렇기 때문에 배열의 이름 p가 이중포인터가 됩니다.
그래서 그 이중포인터인 배열의 이름 p에서 크기만큼 더해주면 모든 배열 포인터 (문자열의 배열)을 출력할 수가 있을 것입니다.
반응형