1
다음 프로그램의 출력이 이 될 것으로 예상했지만 컴파일러는 을 표시합니다. 누군가 이유를 설명해 주시겠습니까?포인터가 예상보다 다른 값을 표시합니다.
#include <stdio.h>
int a=5;
change1(int *p);
int main(void)
{
int x=20,*ptr=&x;
change1(ptr);
printf("%d ",*ptr);
return 0;
}
change1(int *p)
{
p=&a;
}
참조 [이 답변] (HTTP : //programmers.stackexchange .com/questions/246148/use-of-double-pointer-and-n-pointer/246300 # 246300). –