문자열을 포인터 배열에 넣는방법 질문드립니다.

질문 제목 :
문자열을 포인터 배열에 넣는방법 질문드립니다.

질문 내용 :
char* name[5];
int i; for (i = 0; i 5; i++)

scanf_s(%s, *(std+i));5명의 이름을 문자열 형식으로 포인터 배열에 넣으려고 하는데요,
컴파일은 되는데 입력중에 실행파일이 에러가 뜨네요..그리고char* a = john;
printf(%s, a);이런식의 문자열 출력에서
포인터a는 john의 주소값을 가지므로
printf(%s, *a); 이렇게 해야 포인터 a가 가르키는 값이 리턴이 되는거 아닌가요?답변 부탁드립니다 :)

댓글 1

  • 가람슬기 2025.10.30

    name는 char 가 들어있다고 간주되는 메모리의 주소를 5 개 저장할 수 있는 배열이잖아요?
    정작 char 가 저장될 곳은 없는 것이죠.
    2 차원 배열을 사용하든지,
    name 의 각 요소에 char 가(들이) 저장될 수 있는 메모리의 주소를 주든지 해야합니다.

C언어 다른 글

목록