2013-10-05 4 views
-7

어떻게 작동합니까?주 파일의 함수 호출

 #include <stdio.h> 
     #include <stdlib.h> 
     #include <assert.h> 

     typedef struct node 
     { 
      char hexAdd; 
     int numOccur; 

      } 


     int main() 
     { 

     node arr[5]; 
     //arr[0]->numOccur = 2; 
     arr[1] = 2; 
     arr[2] = 3; 
     arr[3] = 4; 
     arr[4] = 5; 

     int n; 

      for(n = 0; n < 5; n++){ 
      printf("%d\n",arr[n]); 

      } 









       } 

어떻게하면 구조체가 해당 파일에 없어도 작동합니까? 구조체로 구성된 배열을 가질 수 있기를 원합니다. 해당 구조체에 액세스하고 수정하려면 어떻게합니까?

+3

팁을 : 다른 소스 파일에 소스 파일을 포함하지 마십시오. 대신 이들을 * object file *으로 개별적으로 컴파일하고 링커를 사용하여 함께 링크하여 최종 실행 파일을 만듭니다. –

+1

나는 당신이 '당신의 세 번째 단락에서 어떻게 이것을 처리합니까?'라는 말을 믿습니다. – Chazu

+0

structNode.h 및 structArr.c의 내용을 제공하십시오. 그렇지 않으면 귀하의 질문에 대해 알기가 어렵습니다. –

답변

2

나는 문제가 무엇인지 모르겠지만, 나는 당신의 코드에있는 모든 실수를 수정 :

#include <stdio.h> 

typedef struct 
{ 
    char hexAdd; 
    int numOccur; 
} node; 

int main() 
{ 
    node arr[5] = {{'a', 2}, {'e', 3}, {'i', 5}, {'o', 7}, {'u', 11}}; 

    int n; 
    for(n = 0; n < 5; ++n) 
    { 
     printf("%c -> %d\n", arr[n].hexAdd, arr[n].numOccur); 
    } 

    return 0; 
} 
+1

그래, 고마워,하지만 거기에 노드 이름을 두는 것과 내가 가진 곳의 차이점은 무엇입니까? 나는 나의 예와 같이 과거에 그 일을했다는 것을 안다. 왜 여기서 작동하지 않는가? –

관련 문제