[C/C++] char (*name)[5] 질문입니다.
연블루
2023.04.01
char (*name)[5];
이것이 열의 개수가 5인 2차원의 배열포인터인 것은 알겠습니다.
그런데 이것이 메모리가 어떻게 잡히는지는
그림이 안 그려지네요.
메모리적인 관점에서 설명을 부탁드립니다.
-
서향
먼저, name이 뭔가가 중요합니다. name은 포인터 입니다. *를 둘러싸고 있는걸 봐서.. 틀림없이 포인터 입니다. 포인터인데, 어떤 포인터냐? char형의 (요소의크기가 5인) 배열의 시작주소를 가리킬수 있는 (배열) 포인터 입니다. 메모리가 어떻게 잡히는가? 단순합니다. 배열포인터라 해서 특별한거는 없습니다. 포인터는 변수/상수의 시작주소값을 가집니다. 복잡할게 없죠.
이해를 돕기 위해서, 아래코드를 한번 실행해보세요.
(혹시, 학생이시면,