struct test
{
mystruct a;
mystruct2 b;
int c;
}
struct test aa;
printf(\" add : %p \", &(aa.a));
printf(\" add : %p \", &(aa.b));
욜케하면 0x11541fc 0x115423c
이런식으로 나오거든. 근데 난 상대주소를 알고 싶은거라서 첫번째 주소를 0으로 놓고싶어.
그래서
printf(\" add : %p \", &(aa.a)-&(aa.a));
printf(\" add : %p \", &(aa.b)-&(aa.a));
이런식으로 했는데 컴파일이 안돼..
근데 왜 주소값을 변수에 담을수는 업는거야?
int a = &(aa.a);
int b = &(aa.b);
int c = a - c ;
이런식으로 주소차이 계산하려고 하니 에러나네..
{
mystruct a;
mystruct2 b;
int c;
}
struct test aa;
printf(\" add : %p \", &(aa.a));
printf(\" add : %p \", &(aa.b));
욜케하면 0x11541fc 0x115423c
이런식으로 나오거든. 근데 난 상대주소를 알고 싶은거라서 첫번째 주소를 0으로 놓고싶어.
그래서
printf(\" add : %p \", &(aa.a)-&(aa.a));
printf(\" add : %p \", &(aa.b)-&(aa.a));
이런식으로 했는데 컴파일이 안돼..
근데 왜 주소값을 변수에 담을수는 업는거야?
int a = &(aa.a);
int b = &(aa.b);
int c = a - c ;
이런식으로 주소차이 계산하려고 하니 에러나네..
int source = 10; int * success = &source; int failed = &source; 차이점이 무엇일까요?
왜 int * success = &source;는 되고 int failed = &source;는 안될까요?
캐스팅은 무엇을 할 때 쓰는걸까요?
포인터간의 뺄셈은 결과가 포인터가 아니라 ptrdiff_t임
상대 주소가 출력하고 싶으심 printf(\"%p\\n\", &(((test*)0)->b) ); 요렇게 해보세요
오 굿..ㄳㄳ