초보 프로그래머의 포인터 의문점..

dragona79의 이미지

int PrintAddress(char** array)
{
    printf("%x\n", (char*)(array);
    printf("%x\n", (char*)(array+1);
    return 0;
}

int main();
{
    char* array[300][50];
    PrintfAddress((char**)array);
    return 0;
}

결과값:
bfff80c0
bfff80c4

char인데 어째서 4바이트 차이가 나는거죠?

기초 부터 다시 시작할까봐요 T.T

mirr의 이미지

형에 관계 없이 4바이트입니다.

내 마음속의 악마가 자꾸만 나를 부추겨.
늘 해왔던 것에 만족하지 말고 뭔가 불가능해 보이는 것을 하라고 말야.

park7275의 이미지

32bit 머신인것으로 사료됩니다~~

날더워요~~ 잠와요...ㅜㅜ

덧붙입니다..

일반적으로....char *, int *....모든 pointer는

같은 size입니다..

어차피...주소값을 가르키기 때문이죠~~

p.s 맞겠죠?? 아닐지도 몰라..아니라면 난감..

[KILL] 죽을각오로.........

ssehoony의 이미지

char 이 아니고 char* 이기 때문에

dragona79의 이미지

감사합니다. 이해했습니다.