포인터 변수 &variable와 variable차이
조회수 399회
int main(void)
{
int a[10] = { 0 };
int var = 10;
int* variable= &var;
printf("결과 : &variable=%p, variable=%p, *variable=%p, var=%p\n",
&variable, variable, *variable, var);
printf("결과 : a=%p, &a=%p\n", a, &a);
}
int a[] = {0};
에서 a
와 &a
의 주소값은 동일하게 a[0]
의 주소값으로 같았습니다.
그래서 포인터 변수도 변수명이 자신을 가리킨다고 생각했는데 &variable
와 variable
값이 다른 이유를 모르겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
int main(void) { int a[10] = { 0 }; int var = 10; int* variable= &var; printf("variable %x\n", &variable); printf("variable %x\n", variable); printf("variable %d\n", *variable); printf("var %x\n", &var); printf("var %d\n", var); } //결과 variable c75854a0 //variable 의 주소 값 variable c75854ac //variable 에 저장된 값 variable 10 //저장된값(주소)에 저장된 내용 var c75854ac //var의 주소 값 var 10 //var에 저장된 값
variable(0xc75854a0) 에는 var 의 주소(0xc75854ac)가 저장됩니다.
그러므로 &variable(variable 의 주소값 0xc75854a0) 과 variable 안에 입력되있는 값(0xc75854ac)은 다릅니다.
댓글 입력