jeha0714   2년 전

문자열을 입력받는것을 포인터 배열로 구현해봤습니다.

그러나 예제 출력시 마지막 hesitate에서도 문제가 있으며

혹여나 제가 포인트 배열에 대해 잘 못 인지하고 있는 부분이 있다면 한 마디씩 해주시면 정말 감사하겠습니다!

sunghyeck17   2년 전

35번 scanf 줄에 문제가 있는 것 같습니다.

array_S[i] 는 char * 자료형이고, 그 자체로 포인터이므로 &array_S[i] 대신 array_S[i]를 쓰셔야합니다.

sunghyeck17   2년 전

비슷한 예시로 아래 소스코드를 보시면 좋을 것 같습니다.

jeha0714   2년 전

char형 포인터를 할 때는 

char *str;
scanf("%s", str);

가 맞지만

char형 포인터 배열을 사용 할 때는

char * array_S[1];

scanf("%s", &array_S[0]);

이 올바르지 않나요?

sunghyeck17   2년 전

array_S의 타입은 char **이고, array_S[i]는 char * 형을 갖게 됩니다.

&array_S[i]는 array_S[i]의 메모리 주소와 같으므로 char **형으로, char *과는 다릅니다. 따라서 문자열을 담는데 사용하면 문제가 생길 수 있습니다.

댓글을 작성하려면 로그인해야 합니다.