IT
[C] 포인터 정리
security life
2021. 12. 9. 21:49
반응형
#include<stdio.h>
int main(){
int i,j;
int *ptr;
ptr=&i;
*ptr=10;
j=*ptr;
printf("%p\n",&j);
printf("%p\n\n",&i);
printf("%p\n",ptr); //포인터변수의 값(i주소)
printf("%p\n",&ptr); //포인터변수 값이 저장된 메모리 번지 (ptr주소)
printf("%d\n",*ptr); //포인터변수가 가리키는 메모리 값 (ptr이 가리키는 변수의 값)
printf("%d\n",j);
printf("%d",i);
}
*실행결과

번지
|
0062FE40
|
0062FE44
|
0062FE48
|
0062FE4C
|
값
|
0062FE4C
|
--------------
|
0062FE4C
|
10
|
0062FE40 - &ptr
0062FE48 - &j
0062FE4C - &i
*함수에서 포인터 전달
함수의 매개변수로 전달하는 경우 - 값에 의한 호출(call by value)
함수 안에서 값을 변경한 후 반환할 때 값이 사라짐.
포인터를 전달하는 경우 - 참조에 의한 호출(calll by reference)
함수 안에서 변경된 값이 반환 후에도 유지됨.
반응형