Code Snippet
- #include<stdio.h>
- #include<stdlib.h>
- #include<conio.h>
-
-
- int main(void)
- {
- void *vp;
- int *pi=NULL;
-
- vp = π
-
- //*vp = (int*)malloc(sizeof(int)); pi=(int*)... 이렇게 하면 정상적으로 컴파일, 작동됨
-
- **(int**)vp = 5;
-
- printf("%d", **(int**)vp);
-
-
- return 0;
- }
vp는 pi의 주소를 가리키고 *vp는 pi가 가리키는 메모리 영역을 포인트 하므로
주석부분과 같이 코딩하면 최종적으로 pi가 가리키는 메모리 영역에 동적메모리가 할당 될 것이다...가 저의 생각이었는데
에러가 발생합니다.
vp대신에 pi=(int*)... 이런식으로 해도 되고
아니면 그냥 임의의 int형 변수를 하나 만든다음에 pi가 그녀석을 포인트 해도 되지만
왜 안되는지 이유가 궁금하네요...