CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): guest (mango) <210.113.163.172>
날 짜 (Date): 2003년 2월 17일 월요일 오후 04시 32분 26초
제 목(Title): C 관련 질문입니다.


안녕하세요.
간단한 프로그램을 짜서 돌려보는데 결과가 이상하게 나와서 여기에 올려봅니다.
프로그램은 아래와 같습니다.

void t(char **a);

void main()
{
        char x[10][20];
        x[0][0]=5;
        printf("%x,%x\n",x[0],x[1]);
        t( x );
}

void t(char **a)
{
        printf("%x,%x,%x\n",a,a[0],a+5);
}


컴파일한후 실행을 하면 결과가 아래와 같습니다.

bffff9d0,bffff9e4
bffff9d0,5,bffff9e4


위의 결과에 의하면 a[0]가 포인터가 아닌 포인터가 가리키는 값을 나타냅니다.
그런데 제가 지금까지 알고있었던 바로는 a[0]는 bffff9d0이고 a[1]은 bffff9e4로 알고있었습니다.
고수님들의 답변 기다리겠습니다.
감사합니다.

작업환경은 아래와 같습니다.

gcc 는 version 3.2이고 redhat 8.0입니다.

도움을 부탁드립니다.



[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.