c 언어 포인터 배열과 출력 질문 입니다.

ansdyd64의 이미지

밑에 보이시는 코드 입니다.
함수 2개에 각각 배열과 strcpy 함수를 이용해 글자를 넣어둔 상태 인데요.
여기서 맨위 함수인 int letters_in_string(char *str) 에
있는 char * str 을 이용해서 배열을 짜고
지금 있는 대로 void 함수 부분에서 출력 하면 됩니다.
근데 맨 위 int 함수에서 배열 선언하고
밑에 void 함수로 가져 와서 프린트 하는 부분이
헷갈립니다.

int letters_in_string(char *);
 
void test_1_letters_in_string();
 
void test_2_letters_in_string();
 
int letters_in_string(char *str) {
 
 //여기서 char *str 을 이용해
변수 선언 뒤 밑의 함수에서 이용해 출력 하고 싶습니다.//  
}
 
void test_1_letters_in_string() {
 
   char *str[30] ;
 
    strcpy(str,"This is a test string");
    printf("%s\n", str);
}
 
void test_2_letters_in_string() {
 
    char *str [50];
    strcpy(str,"Does the number 247 or punctuation count as 'letters'?  No, they don't.");
    printf("%s", str);
}
 
int main() {
 
    test_1_letters_in_string();
    test_2_letters_in_string();
}