배열포인터

Computer Language/C

[C] 문자배열과 포인터, 포인터배열과 배열포인터.

혹시 틀린 부분이 있으면 지나가지 마시고 댓글로 지적해주시면 감사드리겠습니다. :-) C언어에서는 문자열을 담는 자료형이 없으므로 두가지 방법으로 문자열을 담을 수 있다. 첫번째는 배열을 이용한것, 두번째는 문자열 주소값을 가진 포인터를 이용하는것. 이 그림과 같이 int a[3][5] 라는 2차원 배열이 있고, a의 주소는 200이라고 가정했을때, 이 배열을 가르키는 포인터는 int(*p)[5] = a 가 된다. int*p = a와는 다른데, 이 배열에서 a의 기본 단위는 20바이트가 되므로, a주소값은 200 이라면, a+1 주소값은 204가 아닌 220이 된다. 그러나 int*p = a라고 정의하면, p+1의 주소값은 220이 아닌 204가 되어버려, 1:1 대응이 안되고 다른 의미가 되어버린다...

kthdev
'배열포인터' 태그의 글 목록