CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): love (바람)
날 짜 (Date): 1995년06월30일(금) 10시36분52초 KDT
제 목(Title): C에서의 질문 하나.



  친구가 물어보더군요.

  어떤 함수에서 배열을 return 해서 그 값들을 이용하고자 할 때

  어떻게 해야 하느냐고요...


  다음의 간단한 예를 먼저 보시는 것이 나을 듯 합니다.



   int **fun(a)
   int a[MAX][MAX];
   {
       int b[MAX][MAX];

       int i;

       for(i=0; i<MAX/2; i++)
           for(j=0; j<MAX/2; j++)
               b[i][j] = 2 * a[i][j];

       return (int **)b;

   }


   void main()
   {
       int **x;
       int a[MAX][MAX];

       ......

       x = fun(a);

       ......

       for(i=0; i<MAX; i++)
           for(j=0; j<MAX; j++)
               printf(" %d", x[i][j]);
  }


   위에서 물론 MAX는 #define에 의해 10정도로 정의 되어 있을 것이고
   main에 있는 x는 malloc에 의해 memory를 할당받아야 겠죠.

   근데 그 size를 잘 모르겠거든요.

   그 size를 좀 알려 주시겠읍니까?

   그리고 위 프로그램에서 틀린 부분이 있다면 
   그것도 같이 지적해 주십시오.

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