포인터질문//
인1형녀
2023.04.25
질문 제목 : 포인터질문포인터질문질문 내용 :
#include stdio.h
int main(void)
{
int i, *data;//정수형변수 i,정수형 포인터변수data저장
i = 50;//정수형변수에 값을저장
data = &i;//i의 주소값을 data에 저장? 이때 별을빼는 이유는뭐죠?
printf(%d\n, *data);//주소값을 data에 저장했는데*data를 출력하면값이나오느건가?
printf(%d\n, data);//그럼 data를 출력하는건 주소값을 저장했었으니까주소가나오는거고?
return 0;
}
오늘 포인터를 배웠는데 이렇게쓰는게 맞는지 모르겠긴한데;
위에값은 50이나오고
밑에값은 주소가 나오는거같은데 빌드할때마다 주소값이 계속바뀌구여;
이렇게 이해하는게 맞는지 모르겠네여 쩝
-
횃불 2023-04-25
감사합니다 ///
-
유메 2023-04-25
data = &i
변수 i의 메모리 주소값을 int형 포인터 변수 data에 i의 주소값을 넣어줍니다.
그리고 * 연산자는 참조 하는 연산자 입니다. 주소값을 넣을때는 & 이걸 써야 됩니다.
*data를 하면 data에 있는 주소값에 접근해 그 값을 출력합니다.
이것처럼 그 변수에 대해 참조를 할떄 * 연산자를 쓰시면 됩니다.
그렇게 이해 하시는게 맞습니다. 포인터의 기초(?) 를 배우셧으니 여러가지 포인터를 더 배우셔야 하시니
힘내십