포인터 한번 더 질문합니다. ㅜ
은솜
int *a=5;
char *b=hello hh;
이런식으로 포인터 변수에 주소가 안들어가 있는 상태에서 바로 값들을 넣으면그게 어디에 들어가나요??
원래
int a=5;int *b;b=&a;
이런식으면 a의 주소값이 b로 들어간다음 b가 가르키는게 있음 말이돼는대 ..
그리고
int *a=&b;이렇게 선언해주면서 주소값을 넣어주면 오류가 안나는대 중간에
#include stdio.hint main()
{
...
...
... a=&b; ...
return 0;}이런식으로 a 앞에 * 표시를 하면 오류가 나더라군요..그러면 중간에 주소값을 옮길땐 *를 쓰면 안돼는거나요?
-
Together
아 ㅋㅋㅋ 이제 진짜 제대로 이해한거 같아요. 감사합니다.
-
연다홍
포인트형 변수를 선언하는 순간 메모리에 4바이트아님 8바이트가 할당되는 건가요?
-
꽃달
음 그러니까 ...
int a=123;
int *b;
b=&a
이런식으로 포인트형 변수에 가르키는 주소값이 들어가 있잔아요..
근대 예제소스 같은대 보면
int *b=123;
이런식으로 *b에 어떤 주소값이나 아무것도 안들어가 있는 상태에서 123를 넣으니까
123이란 값이 어디 들어가는지... -
갅지돋는슬아
pINT = &a; 나 int* pINT = &a; 처럼 주소값은 넣어주잔아요..
근대 막 주소값이 들어가 있지 않은 상태에서 바로 값을 넣으면 어떻하죵??
#include stdio.h
int main()
{
int *a=123;
}
이런식으로요 *a에 아무것도 가르키는 주소값이 없는대 여기서 바로 값을 넣으면... 이게 어디로 들어가는건가요.. -
돌삥
int a = 0;
int* pINT = &a;
///////////////////////
int a = 0;
int* pINT;
pINT = &a;
는 같답니다 단지 선언과 동시에 초기화 할 시 알아서 해줄 뿐이에요 -
돌심보
ㅠㅠ 매우 헷갈리네요. ㅠㅠ
-
사람
선언과 동시에 초기화가 이루어지는 것과 나중에 초기화 할 때가 헷갈리시는거 같네요 ㅇㅂㅇ