C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[12285] int *nValue와 int (*nValue)의 차이점?
수야!╋ [sooya23] 2004 읽음    2006-10-25 11:08
흠.. ㅡ_ㅡ;;

어느세 나이도 서른을 바라보는 나이에 경력은 쌓여만 가는 허접 수야입니다.

오늘 문득 저 둘의 차이점이 궁금하더군요.

int SSS( int *nValue[10] )과
int SSS( int (*nVluae)[10] )과의 차이점...

int arrn[10][10];

이 변수배열을 위 함수로 넘겼을 경우에 대한건데요 ㅋ_ㅋ;

SSS( &arrn[0] )을 호출할 경우

int SSS( int *nValue[10] ) 으로 선언한 함수에서는

int s = nValue[0][0]을 엑세스 할 수 없고

int SSS( int (*nVluae)[10] ) 으로 선언한 함수에서는

int s = nValue[0][0]을 엑세스 할 수 있는데..

어째서 이런 차이가 발생하는건지.. ㅠ.ㅠ

소스입니다.

int GetTotalForWeek( int (*pa)[7] )
//int GetTotalForWeek( int *pa[7] )
{
     int i,sum=0;

     for( i = 0; i < 7; i++ )
     {
          sum += pa[0][i];
     }

     return sum;
}

void main(void)
{
     int ari[][7]=
     {
          {1,2,3,4,5,6,7},
          {8,9,10,11,12,13,14},
          {15,16,17,18,19,20,21}
     };

     int i;

     for( i = 0; i < 3; i++ )
     {
          printf( "%d주의 판매량 = %d\n", i+1, GetTotalForWeek( &ari[i] ) );
     }

     getch();
}


또한번 기본에 흔들리는 수야의 질문이었습니다.
박진훈 [jhoony73]   2006-10-25 11:38 X
첫벗째는 포인터의 배열이고, 두번째는 배열의 포인터이기 때문 아닌가요?


수야!╋ [sooya23]   2006-10-25 11:46 X
상구형의 명언.. 사람도 헷갈리는데 컴퓨터는 오죽하겠나?
이딴거 고민하는건 정력낭비.. 전부다 인정 ㅠ.ㅠ
하지만 궁금하다는거.. ㅠ.ㅠ
크레브 [kkol]   2006-10-25 12:42 X
//int GetTotalForWeek( int *pa[7] )
이거 쓰면 컴파일 에러 나거나 강제 형변환하면 잘못된 연산 뜨는데요 --;
장보 [compage]   2006-10-25 13:12 X
첫번째는 배열 포인터라는 것으로 배열의 개수가 7개라는걸 명시하는데 반해 두번째는 int 형 포인터를 7개 할당한 배열입니다. 그래서 두번째는 배열의 인수를 썼을때 배열선두주소+ (인수* sizeof(int *)) 만큼 이동하여 포인터를 받게되죠. 음.. 설명이 제대로 되었나?
수야!╋ [sooya23]   2006-10-25 14:12 X
크레브님은 컴파일러 버전문제같네요.
비줠씨에서 컴파일 해보았을때는 컴파일 오류가 나더군요 ^^


장보님의 말씀에 도움이 많이 되었습니다.


진훈님도 감사해요. 풀어써주셨으면 더 이해가 갔을거 같은데 짧은 지식덕에 이해하지 못하였습니다. ^^

+ -

관련 글 리스트
12285 int *nValue와 int (*nValue)의 차이점? 수야!╋ 2004 2006/10/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.