c언어 포인터에 대해서 기본개념인데 햇갈리네요 ㅠㅠ
가막새
2023.04.01
-
-
c언어 포인터 연산을 공부하고 있는데..
포인터를 +,- 를 증가 시키는건 이해 했는데용..
예를들면 변수 a의 주소가 504이고 변수 b의 주소가 500라면
각 각의 포인터 pa - pb 값을 하면 왜 4가아니고 1값이 나오는것이 궁금합니다 ㅠㅠ..
pa++ 하면 pa가 508이 되는 것처럼 반대로 저 위의 4값을 1이라고 생각해야하는가요 -,.-
-
차나
덧붙이면.. 다른 타입의 변수에서 포인터 연산을 하면.. 해당 타입의 크기만큼 주소가 바뀌게 됩니다.
-
목련
포인터를 선언시 int 형 변수형이라는걸 등록해놓은 상태입니다. 주소 자체를 우리가 흔히 아는 값으로 계산한다는 생각에서 벗어나야합니다. 수학적인 계산이라기보단 pA주소와 pB주소는 int형이기때문에 두개의 차이는 int형 1개(4바이트) 차이라는 점으로 해석해야 합니다. 각각의 위치와 변수위치에 따라서 해석이 달리해야하고, pA++ 을 해석한다면 [int형 변수A를 가리키는 포인터 pA의 주소]를 in(4바이트)의 크기만큼 증가 하겠습니다. 라고 해석