반응형
C에서 struct 내부에 함수 포인터를 정의하여 C++의 class 멤버 함수 비슷하게 사용할 수 있다.
C struct에 함수를 정의하는 방법은 다음과 같다.
#include <stdio.h>
void Box_Add(int x);
struct
{
int Value;
void (*Add)(int x);
} Box;
int main()
{
Box.Add = Box_Add;
Box.Value = 1;
printf("Value=%d\n", Box.Value);
Box.Add(5);
printf("Value=%d\n", Box.Value);
return 0;
}
void Box_Add(int x)
{
Box.Value += x;
}
반응형
'컴퓨터 > C' 카테고리의 다른 글
C 반올림 함수 (0) | 2023.05.26 |
---|---|
[C] sin과 sinf과 sinl의 차이 (0) | 2023.04.10 |
[C] 범위 제한 매크로 (0) | 2023.04.07 |
#define 문 사용법 (0) | 2022.12.09 |
구조체(struct) 포인터 연산 (0) | 2022.09.19 |
댓글