C에서 헤더 파일 내부의 구조체 인식

댄 잭슨

해시 테이블을 사용하여 딕셔너리를 만들려고하므로 nodea wordnext포인터가 연결된 라는 구조를 만들었 습니다.

// Represents a node in a hash table
typedef struct node
{
    char word[LENGTH + 1];
    struct node *next;
}
node;

// Hash table
struct node *table[5];

에서를 main초기화했으며 node이제 해시 테이블에로드하려고합니다.

void hash_insert_node(struct node **hash_table, struct node *n, int value)
{
    hash_table[value] = n;
    printf("%s\n", hash_table[value]->word);
}

이 함수의 프로토 타입은라는 파일에 있고이 dictionaries.h코드는 dictionaries.c. 의 상단 dictionaries.c에는

#include "dictionaries.h"

지금 코드를 실행하면 다음 오류가 발생합니다.

declaration of 'struct node' will not be visible outside of this function 
[-Werror,-Wvisibility]

이 문제를 해결하기 위해 찾은 유일한 방법은 구조의 정의를로 옮기는 dictionaries.h것이지만 어리석은 것 같습니다.

이것은 사소한 질문 일 수 있지만 도움을 주시면 대단히 감사하겠습니다.

Anastaciu

이 문제를 해결하기 위해 찾은 유일한 방법은 구조의 정의를 dictionaries.h로 옮기는 것이지만 어리석은 것 같습니다.

나에게는 어리석은 것처럼 보이지 않으며 .h파일은 struct선언 을하기에 완벽한 장소 인 것 같습니다 .


함수가 .NET Framework의 존재를 인식하지 못하기 때문에 문제가 발생합니다 struct.

몇 가지 다른 방법으로이 문제를 해결할 수 있습니다.

  1. 앞으로를 선언struct 함수의 선언 앞에 :
 struct node;
 char *GetHashWord(struct node **hash_table, int value);
  1. 를 놓고 struct별도의 .h당신이 예를 들어, 이름을 수있는 파일 data_structure.h#includedictionaries.h.
  2. 원래 수정 사항을 유지하십시오. 이것이 나쁜 습관으로 간주되어야 할 이유가 없습니다.

참고로 구조체에 별칭을 부여하려는 경우 사용할 수도 있습니다.

void hash_insert_node(node **hash_table, node *n, int value){/*...*/}
                      ^^^^               ^^^^

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C-헤더 파일의 구조체 정의

분류에서Dev

별도의 헤더 파일에서 C ++ 구조체 프로토 타이핑

분류에서Dev

헤더 파일에 정의 된 구조체 목록 검색

분류에서Dev

헤더 파일에 구조체 포함

분류에서Dev

C 헤더 파일에 정의 된 자체 참조 구조체에서 오류가 발생 함

분류에서Dev

헤더 파일에서 구조체를 선언하고 .c 파일에서 정의하는 방법

분류에서Dev

헤더 이름의 일부에 대해 구조화 된 배열에서 헤더 색인 찾기

분류에서Dev

어셈블리 파일에서 내 C 헤더의 데이터 구조 사용

분류에서Dev

목표 C-헤더 파일에서 typedef 구조체 사용

분류에서Dev

헤더 파일에서 C 구조체의 멤버를 어떻게 결정할 수 있습니까?

분류에서Dev

헤더 파일의 유니온 내부 구조 2 개

분류에서Dev

함수에서 파일 / 폴더 구조체의 포인터 반환

분류에서Dev

C 헤더 파일에 선언 된 구조체-gcc malloc 오류

분류에서Dev

헤더 파일의 C 함수 구현

분류에서Dev

C ++에서 헤더 파일없이 구조체 및 함수 연결

분류에서Dev

헤더 파일의 구조를 외부에 보이지 않게 만들기

분류에서Dev

C 헤더 및 소스 파일 구조

분류에서Dev

파일에 헤더 이외의 내용이 있는지 확인

분류에서Dev

c의 파일에서 헤더 검색

분류에서Dev

헤더 파일의 구조 정의에서 작성된 문자열 선언

분류에서Dev

C 프로그래밍 다른 헤더 파일에서 구조의 요소를 인쇄하는 방법은 무엇입니까?

분류에서Dev

pcap 파일 내부의 IP 헤더에 'DF'비트 설정

분류에서Dev

헤더 파일에서 구조체를 찾을 수 없습니다.

분류에서Dev

둘 이상의 소스 파일에서 헤더 파일에 선언 된 구조체 변수를 포함하는 방법은 무엇입니까?

분류에서Dev

둘 이상의 소스 파일에서 헤더 파일에 선언 된 구조체 변수를 포함하는 방법은 무엇입니까?

분류에서Dev

c 헤더 파일에 대한 정의되지 않은 참조

분류에서Dev

C ++ cpp의 헤더 파일에서 참조 함수를 사용합니까?

분류에서Dev

C #에서 XML 파일의 재귀 헤더를 구문 분석하는 방법

분류에서Dev

<type_traits> 헤더 파일의 일부 구현은 어디에 있습니까?

Related 관련 기사

  1. 1

    C-헤더 파일의 구조체 정의

  2. 2

    별도의 헤더 파일에서 C ++ 구조체 프로토 타이핑

  3. 3

    헤더 파일에 정의 된 구조체 목록 검색

  4. 4

    헤더 파일에 구조체 포함

  5. 5

    C 헤더 파일에 정의 된 자체 참조 구조체에서 오류가 발생 함

  6. 6

    헤더 파일에서 구조체를 선언하고 .c 파일에서 정의하는 방법

  7. 7

    헤더 이름의 일부에 대해 구조화 된 배열에서 헤더 색인 찾기

  8. 8

    어셈블리 파일에서 내 C 헤더의 데이터 구조 사용

  9. 9

    목표 C-헤더 파일에서 typedef 구조체 사용

  10. 10

    헤더 파일에서 C 구조체의 멤버를 어떻게 결정할 수 있습니까?

  11. 11

    헤더 파일의 유니온 내부 구조 2 개

  12. 12

    함수에서 파일 / 폴더 구조체의 포인터 반환

  13. 13

    C 헤더 파일에 선언 된 구조체-gcc malloc 오류

  14. 14

    헤더 파일의 C 함수 구현

  15. 15

    C ++에서 헤더 파일없이 구조체 및 함수 연결

  16. 16

    헤더 파일의 구조를 외부에 보이지 않게 만들기

  17. 17

    C 헤더 및 소스 파일 구조

  18. 18

    파일에 헤더 이외의 내용이 있는지 확인

  19. 19

    c의 파일에서 헤더 검색

  20. 20

    헤더 파일의 구조 정의에서 작성된 문자열 선언

  21. 21

    C 프로그래밍 다른 헤더 파일에서 구조의 요소를 인쇄하는 방법은 무엇입니까?

  22. 22

    pcap 파일 내부의 IP 헤더에 'DF'비트 설정

  23. 23

    헤더 파일에서 구조체를 찾을 수 없습니다.

  24. 24

    둘 이상의 소스 파일에서 헤더 파일에 선언 된 구조체 변수를 포함하는 방법은 무엇입니까?

  25. 25

    둘 이상의 소스 파일에서 헤더 파일에 선언 된 구조체 변수를 포함하는 방법은 무엇입니까?

  26. 26

    c 헤더 파일에 대한 정의되지 않은 참조

  27. 27

    C ++ cpp의 헤더 파일에서 참조 함수를 사용합니까?

  28. 28

    C #에서 XML 파일의 재귀 헤더를 구문 분석하는 방법

  29. 29

    <type_traits> 헤더 파일의 일부 구현은 어디에 있습니까?

뜨겁다태그

보관