int a=30;
int* b=&a 일 때
다음 코드로 int c=b가 올 수 있나요?
int* c가 아니라 int c..
만약 int c=b가 된다면 변수c는 그냥 b(=a)의 숫자 그대로의 주소값을 저장하기 위해 쓰는건데
이렇게 쓰는 경우가.. 있나요?
int a=30;
int* b=&a 일 때
다음 코드로 int c=b가 올 수 있나요?
int* c가 아니라 int c..
만약 int c=b가 된다면 변수c는 그냥 b(=a)의 숫자 그대로의 주소값을 저장하기 위해 쓰는건데
이렇게 쓰는 경우가.. 있나요?
ㅇㅇ
절대 불가능한 건 아닌데 왜 글케쓰지
포인터 이해 아에못했네
왜요?
uintptr_t 같이 void* 를 대체하기 위해서 사용하기도 할거에요. int가아니라 unsigned long, unsigned long long 이지만
감사합니다. 그럼 int c=b가 많이 사용하는 코드는 아니지만 그렇다고 틀린 코드도 아니라는 거죠?
sizeof(int) 랑 sizeof(void*)랑 항상 같다고 보장할 수는 없기때문에 맞는코드라고 할수는 없을거 같네요.
(
https://stackoverflow.com/questions/8915918/is-sizeofint-guaranteed-to-equal-sizeofvoid)
둘의
크기가 같은 시스템이라고해도 포인터를 signed 타입으로 캐스팅하는게 맞는지도 모르구요. 두 주소의 차를 저장할때는 signed 가 맞지만 주소자체를 저장할때 signed를 쓰는 경우는 못봐서...