728x90
***함수 포인터도 포인터이므로 구조체 멤버로 넣을 수 있다.
구조체를 사용하는 이유는
- 구조체 끼리 대입연산이 가능하다.
- 소스가 간단해진다( 구조체 멤버 변수가 많을 수록 간단해지는것을 확인할 수 있다.)
- 연관된 자료들을 쉽게 처리할 수 있다.
struct 구조체이름 {
반환값자료형 (*함수포인터이름)(매개변수자료형1, 매개변수자료형2);
};
예를 들어,
struct stCompany{
// ↓ 반환값 자료형
void(*create)(struct stWorker*); // 함수 포인터를 구조체 멤버로 지정
}; // ↑ ↖ 매개변수 자료형
// 멤버 이름
이렇게 사용할 수 있다.
늘 많은 도움을 받고있는 "코딩도장" 감사합니다.
https://dojang.io/mod/page/view.php?id=598
C 언어 코딩 도장: 69.2 함수 포인터를 구조체 멤버로 사용하기
지금까지 구조체에는 일반 자료형으로 된 멤버를 넣었습니다. 하지만 함수 포인터도 포인터이므로 구조체 멤버로 넣을 수 있습니다. 함수 포인터를 구조체 멤버로 사용하려면 구조체를 정의할
dojang.io
728x90
'개발 > 프로그래밍 언어' 카테고리의 다른 글
[C언어] void 포인터 변환하기 (0) | 2020.05.22 |
---|