콜백 함수는 통일된 인터페이스를 통해 다양한 기능을 구현하는 것입니다. C 언어의 콜백 함수는 전달된 다양한 매개변수에 따라 코드 내에서 다양한 콜백 함수를 호출하는 것입니다
콜백 함수 입니다. 프로그래머가 명시적으로 호출할 수 없는 함수는 콜백 함수의 주소를 호출자에게 전달하여 호출됩니다. 콜백 함수의 사용이 필요합니다. 통일된 인터페이스를 통해 다양한 콘텐츠를 구현하려면 콜백 함수가 매우 적합합니다.
[추천 튜토리얼: C 언어 튜토리얼#🎜🎜 #】
예를 들어, 여러 기기에 대해 서로 다른 디스플레이 기능을 작성했습니다.void TVshow(); void ComputerShow(); void NoteBookShow()...等等。이것이 바로 통합 디스플레이를 사용하려는 기능입니다. 함수, 이때 fallback 함수를 사용할 수 있습니다.
void show(void (*ptr)());사용 시 전달된 매개변수에 따라 서로 다른 콜백 함수가 호출됩니다. 다른 프로그래밍 언어는 구문이 다를 수 있습니다. 다음은 C 언어의 콜백 함수의 예입니다. 한 콜백 함수는 매개변수를 사용하지 않고 다른 콜백 함수는 매개변수를 사용합니다.
#include <stdlib.h> #include <stdio.h> int Test1() { int i; for(i=0; i<30; i++) { printf("The %d th charactor is: %c\n", i, (char)('a' + i%26)); } return 0; } int Test2(int num) { int i; for (i=0; i<num; i++) { printf("The %d th charactor is: %c\n", i, (char)('a' + i%26)); } return 0; } void Caller1( void (*ptr)() )//指向函数的指针作函数参数 { (* ptr)(); } void Caller2(int n, int (*ptr)())//指向函数的指针作函数参数,这里第一个参数是为指向函数的指针服务的, { //不能写成void Caller2(int (*ptr)(int n)),这样的定义语法错误。 (* ptr)(n); } int main() { printf("************************\n"); Caller1(Test1); //相当于调用Test1(); printf("&&&&&&************************\n"); Caller2(30, Test2); //相当于调用Test2(30); return 0; }렌더링은 다음과 같습니다
int (*ptr)();여기서 ptr은 함수 포인터입니다. 여기서 괄호(*ptr)는 생략할 수 없습니다. 왜냐하면 대괄호는 우선순위가 높습니다. 별표를 사용하면 정수 반환 유형의 함수 선언이 됩니다. 요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들께 도움이 되었으면 좋겠습니다.
위 내용은 C 언어로 콜백 함수를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!