| [ 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입니다. 도움을 부탁드립니다. |