함수 포인터를 포함하는 c 구조체

user967007

다음 매크로를 사용하여 모든 구조를 선언합니다.

#define structure                     typedef struct

이것으로 나는 구조를 선언합니다.

structure
{
    int foo;
    int(*proc)(void*);
}
_myobject;

proc 멤버는 자신이 속한 구조에 대한 포인터 인 인수를 실제로 받았습니다.

예 :

myobj.proc(&myobj);

내 질문은, proc전달되는 타입을 구조체로 어떻게 선언 할 수 있는지입니다 void *. .. 차이가 없다는 것을 알고 있습니다. 이것은 제가 많은 시간을 보냈기 때문에 미학만을위한 것입니다. 내 코드를 깨끗하게 유지 ..

structure
{
    int foo
    int(*foo)(_myobject*);
}
_myobject;

생성 :

error: expected ':', ',', ';', '}' or '__attribute__' before 'int'|
알렉

구조를 재귀 적으로 참조하려고하는데 typedef와 잘 어울리지 않습니다. 다음 중 하나를 수행해야합니다.

typedef struct _myobject _myobject;
struct _myobject {
  int foo;
  int (*proc)(_myobject*);
};

...

typedef struct _myobject {
  int foo;
  int (*proc)(struct _myobject*);
} _myobject;

편집 :structure 가능한 한 많이 계속 사용하려면 (실제로는 기존 코드와의 일관성을 제외하고는 왜 원하는지 모르겠습니다) 다음을 수행 할 수 있습니다.

structure _myobject _myobject;
struct _myobject {
  int foo;
  int (*proc)(_myobject*);
};

...

structure _myobject {
  int foo;
  int (*proc)(struct _myobject*);
} _myobject;

이 두 가지 모두 struct식별자를 사용해야하지만이 를 피 하려면 식별자를 사용해야 합니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

구조체 배열에 대한 포인터를 반환하는 C # marhsal 함수

분류에서Dev

C에서 로컬 포인터를 포함하는 구조체 반환

분류에서Dev

포인터 함수에 인수로 자신을 전달하는 c 구조체

분류에서Dev

C에서 구조체와 함께 포인터를 사용하는 방법

분류에서Dev

함수에서 다른 포인터를 참조하는 C 포인터

분류에서Dev

구조체 배열 포인터를 인수로 사용하는 함수, C 언어

분류에서Dev

구조체 배열 포인터를 인수로 사용하는 함수, C 언어

분류에서Dev

포인터를 포함하는 구조체의 Qsort

분류에서Dev

C에서 함수 포인터를 포함하는 구조체를 만들고 초기화하는 올바른 방법은 무엇입니까?

분류에서Dev

C에서 함수 외부에 구조체 포인터를 유지하는 방법

분류에서Dev

C ++ 포인터로 함수에 전달 된 구조체 수정

분류에서Dev

C ++ 포인터에서 배열의 대상 구조체를 포함하여 구조체에 대한 값 읽기

분류에서Dev

함수 C ++에 구조체 포인터 전달

분류에서Dev

C ++ 함수에서 구조체에 포인터 사용

분류에서Dev

C의 함수에 구조체 포인터 보내기

분류에서Dev

C ++ 코드에서 비정상적인 템플릿 함수를 포함하는 구조체

분류에서Dev

(의사) C의 OOP는 함수 포인터에서 구조체 객체를 얻습니다.

분류에서Dev

함수 포인터가있는 구조체 배열 초기화 C

분류에서Dev

3 개의 u32 포인터를 인수로 원하는 c 함수에 배열 및 구조체를 전달하는 방법 (ctypes)

분류에서Dev

구조체의 함수 포인터

분류에서Dev

구조체 함수 포인터 오류

분류에서Dev

C ++ 함수 객체를 C 함수 포인터로 지정

분류에서Dev

모든 멤버를 입력하지 않고 함수에 구조체 전달 (C ++ 포인터 없음)

분류에서Dev

C의 함수에서 구조 포인터를 NULL로 설정

분류에서Dev

C ++ 객체를 참조로 기대하는 함수에 반복기 포인터를 전달하는 방법

분류에서Dev

void * 포인터를 포함하는 구조체를 해당 Ctype으로 변환

분류에서Dev

C에서 함수 인수로 구조체 포인터를 전달할 수 없습니다.

분류에서Dev

구조체에 함수 포인터를 추가하는 평생 문제

분류에서Dev

C ++에서 참조를 허용하는 함수에 포인터 전달

Related 관련 기사

  1. 1

    구조체 배열에 대한 포인터를 반환하는 C # marhsal 함수

  2. 2

    C에서 로컬 포인터를 포함하는 구조체 반환

  3. 3

    포인터 함수에 인수로 자신을 전달하는 c 구조체

  4. 4

    C에서 구조체와 함께 포인터를 사용하는 방법

  5. 5

    함수에서 다른 포인터를 참조하는 C 포인터

  6. 6

    구조체 배열 포인터를 인수로 사용하는 함수, C 언어

  7. 7

    구조체 배열 포인터를 인수로 사용하는 함수, C 언어

  8. 8

    포인터를 포함하는 구조체의 Qsort

  9. 9

    C에서 함수 포인터를 포함하는 구조체를 만들고 초기화하는 올바른 방법은 무엇입니까?

  10. 10

    C에서 함수 외부에 구조체 포인터를 유지하는 방법

  11. 11

    C ++ 포인터로 함수에 전달 된 구조체 수정

  12. 12

    C ++ 포인터에서 배열의 대상 구조체를 포함하여 구조체에 대한 값 읽기

  13. 13

    함수 C ++에 구조체 포인터 전달

  14. 14

    C ++ 함수에서 구조체에 포인터 사용

  15. 15

    C의 함수에 구조체 포인터 보내기

  16. 16

    C ++ 코드에서 비정상적인 템플릿 함수를 포함하는 구조체

  17. 17

    (의사) C의 OOP는 함수 포인터에서 구조체 객체를 얻습니다.

  18. 18

    함수 포인터가있는 구조체 배열 초기화 C

  19. 19

    3 개의 u32 포인터를 인수로 원하는 c 함수에 배열 및 구조체를 전달하는 방법 (ctypes)

  20. 20

    구조체의 함수 포인터

  21. 21

    구조체 함수 포인터 오류

  22. 22

    C ++ 함수 객체를 C 함수 포인터로 지정

  23. 23

    모든 멤버를 입력하지 않고 함수에 구조체 전달 (C ++ 포인터 없음)

  24. 24

    C의 함수에서 구조 포인터를 NULL로 설정

  25. 25

    C ++ 객체를 참조로 기대하는 함수에 반복기 포인터를 전달하는 방법

  26. 26

    void * 포인터를 포함하는 구조체를 해당 Ctype으로 변환

  27. 27

    C에서 함수 인수로 구조체 포인터를 전달할 수 없습니다.

  28. 28

    구조체에 함수 포인터를 추가하는 평생 문제

  29. 29

    C ++에서 참조를 허용하는 함수에 포인터 전달

뜨겁다태그

보관