C : 불완전한 유형의 단일 연결 목록에 대한 역 참조 포인터

Aaron

list.h

#ifndef LIST_H
#define LIST_H

/* Function prototypes */
struct nodeStruct* List_createNode(int item);
#endif

list.c

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

struct nodeStruct {
    int item;
    struct nodeStruct *next;
};
struct nodeStruct* List_createNode(int item) {
    struct nodeStruct *node = malloc(sizeof(struct nodeStruct));
    if (node == NULL) {return NULL;}
    node->item = item;
    node->next = NULL;
    return node;
}

Main.c :

#include "list.h"
#include <assert.h>
#include <sys/types.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

struct nodeStruct *one = List_createNode(1);
while(one != NULL) {
    printf("%d", one->item); //error
    one= one->next; //error
}

오류 : error: dereferencing pointer to incomplete type printf("%d", one->item); 오류는에 one->item있습니다. 여러 조합을 역 참조하려고 시도했지만 작동하지 않는 것 같습니다. 올바른 접근 방식은 무엇입니까?

업데이트 :

list.h

#ifndef LIST_H
#define LIST_H

    struct nodeStruct {
    int item;
    struct nodeStruct *next;
};
/* Function prototypes */
struct nodeStruct* List_createNode(int item);
#endif

이제 오류는 invalid application of ‘sizeof’ to incomplete type ‘struct nodeStruct’ struct nodeStruct *node = malloc(sizeof(struct nodeStruct)); 내 list.c 파일에서입니다.

R 사후

몇 가지 방법을 생각할 수 있습니다.

  1. 의 정의를 넣어 struct헤더 파일에 #include있는 헤더 파일 main.c.

  2. 몇 가지 기능 추가

    int getNodeItem(struct nodeStruct* node)
    {
       return node->item;
    }
    
    struct nodeStruct* getNextNode(struct nodeStruct* node)
    {
       return node->next;
    }
    

    에서 함수를 호출합니다 main.

    while (one != NULL) {
       printf("%d", getNodeItem(one));
       one = getNextNode(one);
    }
    

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C 오류 : 불완전한 유형 연결 목록에 대한 포인터 역 참조

분류에서Dev

불완전한 유형 C에 대한 역 참조 포인터

분류에서Dev

C의 불완전한 유형 큐에 대한 역 참조 포인터

분류에서Dev

불완전한 유형 구조체에 대한 C 역 참조 포인터

분류에서Dev

오류 : 불완전한 유형에 대한 포인터 역 참조-C 언어

분류에서Dev

불완전한 유형에 대한 역 참조 포인터

분류에서Dev

불완전한 유형에 대한 역 참조 포인터

분류에서Dev

헤더의 typedef 구조체 및 불완전한 유형에 대한 역 참조 포인터

분류에서Dev

구조 및 포인터 오류 : 불완전한 유형에 대한 포인터 역 참조

분류에서Dev

qsort ()의 비교 함수에서 구조체의 값 사용-C99-불완전한 유형에 대한 포인터 역 참조

분류에서Dev

구조체를 사용하여 불완전한 형식에 대한 포인터 역 참조

분류에서Dev

예상치 못한 결과를주는 내 C ++ 연결 목록 구현에서 노드 포인터 역 참조

분류에서Dev

오류 : 불완전한 유형에 대한 포인터 연기

분류에서Dev

char 포인터 C ++에 대한 포인터 역 참조

분류에서Dev

가능한 경우 형식에 대한 C ++ 포인터 역 참조

분류에서Dev

C 연결 목록-파일에 대한 포인터 쓰기

분류에서Dev

Rust의 임의 노드에 대한 참조가있는 단일 연결 목록

분류에서Dev

const 데이터 형식에 대한 포인터 역 참조

분류에서Dev

MxArray에 대한 포인터 역 참조

분류에서Dev

C에서 0에 대한 포인터 역 참조

분류에서Dev

포인터 역 참조에 대한 C ++ 기술 질문

분류에서Dev

연결 목록의 잘못된 요소에 대한 포인터 포인트 (C)

분류에서Dev

C ++ / CLI의 기본 유형에 대한 void * 역 참조

분류에서Dev

C ++ 템플릿 및 불완전한 유형에 대한 포인터

분류에서Dev

C ++ 포인터 목록 및 참조에 의한 통과

분류에서Dev

연결 목록의 포인터에 대한 포인터

분류에서Dev

구조체 충돌에 대한 C ++ 연결된 목록 포인터

분류에서Dev

사전 증가 연산자를 사용한 포인터 역 참조에 대한 포인터

분류에서Dev

꼬리 포인터가없는 단일 연결 목록에 대한 extractLessThan 연산

Related 관련 기사

  1. 1

    C 오류 : 불완전한 유형 연결 목록에 대한 포인터 역 참조

  2. 2

    불완전한 유형 C에 대한 역 참조 포인터

  3. 3

    C의 불완전한 유형 큐에 대한 역 참조 포인터

  4. 4

    불완전한 유형 구조체에 대한 C 역 참조 포인터

  5. 5

    오류 : 불완전한 유형에 대한 포인터 역 참조-C 언어

  6. 6

    불완전한 유형에 대한 역 참조 포인터

  7. 7

    불완전한 유형에 대한 역 참조 포인터

  8. 8

    헤더의 typedef 구조체 및 불완전한 유형에 대한 역 참조 포인터

  9. 9

    구조 및 포인터 오류 : 불완전한 유형에 대한 포인터 역 참조

  10. 10

    qsort ()의 비교 함수에서 구조체의 값 사용-C99-불완전한 유형에 대한 포인터 역 참조

  11. 11

    구조체를 사용하여 불완전한 형식에 대한 포인터 역 참조

  12. 12

    예상치 못한 결과를주는 내 C ++ 연결 목록 구현에서 노드 포인터 역 참조

  13. 13

    오류 : 불완전한 유형에 대한 포인터 연기

  14. 14

    char 포인터 C ++에 대한 포인터 역 참조

  15. 15

    가능한 경우 형식에 대한 C ++ 포인터 역 참조

  16. 16

    C 연결 목록-파일에 대한 포인터 쓰기

  17. 17

    Rust의 임의 노드에 대한 참조가있는 단일 연결 목록

  18. 18

    const 데이터 형식에 대한 포인터 역 참조

  19. 19

    MxArray에 대한 포인터 역 참조

  20. 20

    C에서 0에 대한 포인터 역 참조

  21. 21

    포인터 역 참조에 대한 C ++ 기술 질문

  22. 22

    연결 목록의 잘못된 요소에 대한 포인터 포인트 (C)

  23. 23

    C ++ / CLI의 기본 유형에 대한 void * 역 참조

  24. 24

    C ++ 템플릿 및 불완전한 유형에 대한 포인터

  25. 25

    C ++ 포인터 목록 및 참조에 의한 통과

  26. 26

    연결 목록의 포인터에 대한 포인터

  27. 27

    구조체 충돌에 대한 C ++ 연결된 목록 포인터

  28. 28

    사전 증가 연산자를 사용한 포인터 역 참조에 대한 포인터

  29. 29

    꼬리 포인터가없는 단일 연결 목록에 대한 extractLessThan 연산

뜨겁다태그

보관