Schizo!
2007. 12. 7. 13:56
#include <stdio.h>
int main(void){
int arr, *i;
arr=2;
i=arr;
// int arr=2;
// int *i=arr;
printf("%d\n",i);
}
위에거는 *i = arr 이 아니라 i = arr으로 해야죠.
이미 i가 *로 선언이 되어 있으니까요.
밑에는 선언과 동시에 하는거니까는 괜찮죠
위의 *i=arr 은 어딘지 알 수 없는 메모리 공간에 2 를 할당하는 꼴
맞아요.
i는 주소값이고 *i는 그 주소에 들어 있는 실제 데이터를 지칭하는거니까
i는 arr이 들어가는게 아니라 arr의 주소인 &arr이 들어가야죠.