작성한 질문수
홍정모의 따라하며 배우는 C언어
10.16 다차원 배열을 함수에게 전달해주는 방법
21.07.02 14:30 작성
·
252
0
답변 1
1
2021. 07. 02. 15:07
원인은 알았는데요. 배열을 포인터 변수에 넣을경우에
넣을 배열이 1차원이든 2차원이던간에
포인터 변수에서는 무조건 1차원으로 인식을하는것 같습니다.
그래서 위의 식이 틀릴 수밖에 없는거고요
혹시 제가 맞게 이해한건지 궁금합니다.
2021. 07. 03. 02:18
비슷합니다.
매개변수를 int* arr 로 설정을 하셨는데, 이는 하나의 주소값을 담는 하나의 포인터 변수입니다.
지금 int * arr 포인터 변수 하나로 이차원 배열을 참조할 수 있도록 시도를 하신거에요!
int * arr 매개변수에 2차원 배열 arr 값을 대입하였으니 int * arr 는 본인이 저장한 주소값이 2차원 배열의 주소값인지에 대한 정보를 알리가 없습니다! 그저 주소값 하나만 딱 저장할 뿐이죠.
그래서 저렇게 두 번 간접참조하는게 에러가 나는 것입니다.
2021. 07. 05. 13:07
아 명확하게 정리가 되었습니다. 감사합니다!!
2021. 07. 03. 02:18
비슷합니다.
매개변수를 int* arr 로 설정을 하셨는데, 이는 하나의 주소값을 담는 하나의 포인터 변수입니다.
지금 int * arr 포인터 변수 하나로 이차원 배열을 참조할 수 있도록 시도를 하신거에요!
int * arr 매개변수에 2차원 배열 arr 값을 대입하였으니 int * arr 는 본인이 저장한 주소값이 2차원 배열의 주소값인지에 대한 정보를 알리가 없습니다! 그저 주소값 하나만 딱 저장할 뿐이죠.
그래서 저렇게 두 번 간접참조하는게 에러가 나는 것입니다.