////
Search

C언어

1. 포인터

// 16byte 크기의 프로그램 int main(){ int a = 8; int b = 10; int* p; }
C
복사
&a : a의 시작 주소 *&a : a의 주소에 있는 값
int* p : int변수의 주소를 저장하는 포인터변수 p
printf("%ld",(long)p); //포인터는 8byte이기 때문에
p = &a -1; // 이면 &b가 된다. b가 바로 옆 주소인 걸 알기 때문에 가능한 코드임 // -1을 하면 int*였기 때문에 안에 있는게 int구나! 해서 자동으로 int 사이즈의 1만큼 감소