int a = 3;
int *b = &a
라는 코드가 있다면 이걸 실행하면 메모리상에는
메모리상 주소 | 저장된값
a 0x0000002 3
b 0x0000040 | 0x0000002
이런식으로 메모리상 특정 주소에 각각의 변수가 저장되잖아.
떠블뽀인떠는 뽀인떠의 주소를 저장하기 위해 쓰는거라는데
만약 위 코드에서 b라는 뽀인떠의 주소를 저장하고 싶으면
int *c = &b
라고 쓰면 메모리상에
메모리상 주소 | 저장된값
a 0x0000002 | 3
b 0x0000040 | 0x0000002
c 0x0000080 | 0x0000040
이런식으로 b뽀인떠의 메모리 주소가 c에 저장되는거 아님?
근데 실제로 이 코드를 실행해보면 warning 뜸.
""""
""""
#include <stdio.h>
int main()
{
int a = 3;
int *b = &a;
int *c = &b;
printf("a = %d address = %x \n", a, &a);
printf("b = %x address = %x \n", b, &b);
printf("c = %x address = %x \n", c, &c);
return 0;
}
대신 c의 값을 int **c = &b;로 쓰면 오류 안남.
결국 뽀인떠가 주소저장을 위한 변수라면 int *c = &b라는 표현도 문제없어 보이는데 왜 안됨?
int ** c 하하하
하하하하하하
int * c 라고 선언하면 c안에 int형 변수의 주소를 넣겠다는 건데 b의 타입이 int 가 아니잖아
그러면 b를 int로 초기화하면 에러안날려나?
글쓴놈아 빨리해보셈ㄱㄱ
만돌리니스트//거에요->거예요 (받침 있으면 이에요 없으면 예요 이로 끝나면 받침 없으므로 예요 요 떼서 말 되면 에요 아니에요는 예외 인명엔 예요(예 : 길동이예요) 성까지 쓰면 이에요(예 : 홍길동이에요)) [리듬 맞춤법 봇♬]