C언어 처음보는 정의

rullrow의 이미지

static void (*op_disable[])(void) =
{
disable_a,
disable_b,
disable_c,
disable_d,
disable_e,
disable_f,
disable_g,
disable_h,
disable_i,
disable_s,
disable_s,
disable_s,
disable_s,
#ifdef AWF_TI
disable_s,
#endif
disable_s
};

소스코드 분석중 어떤 .c 파일에 이런게 있는데 도통 뭔지 모르겠습니다.ㅜ(내용중 일부를 알파벳으로 변경했습니다.)
중괄호 안의 항목들은 같은 파일안에 정의된 함수 이름이던데 이게 뭐하는건가요.ㅜ
함수 형변환하는 건가요?? 어떨때 사용하는건가요?

C언어 정말 힘드네요.ㅠㅠ

rullrow의 이미지

함수포인터배열을 저렇게 선언한거였군요.

ktd2004의 이미지

void fund(void) 형태의 함수 포인터들의 배열입니다.

klara의 이미지

typedef void (*func_op_disable)(void);
func_op_disable op_disable[] = {
disable_a,
disable_b,
disable_c,
disable_d,
disable_e,
disable_f,
disable_g,
disable_h,
disable_i,
disable_s,
disable_s,
disable_s,
disable_s,
#ifdef AWF_TI
disable_s,
#endif
disable_s
};

이렇게 쓰면 혹시 알아 보시겠어요?

rullrow의 이미지

전혀 새로운 또 하나의 기능인줄 알고 글을 올렸습니다.

단순히 함수 포인터 배열을 선언한거였네요..

감사합니다.