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)

함수 안에서 변경된 값이 반환 후에도 유지됨.

 

 

반응형