컴퓨터/C

[C] struct 내부에 함수 사용하기

Begi 2023. 4. 7. 23:38
반응형

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;
}

 

반응형