c 언어 함수 포인터 예제

함수 매개 변수로 포인터는 함수 호출 중에 전달된 인수의 주소를 보유하는 데 사용됩니다. 이를 참조로 호출이라고도 합니다. 함수를 참조로 호출하면 참조 변수에 대한 변경 사항이 원래 변수에 영향을 미칩니다. 다시: 1. *pf는 함수 포인터입니다. 2. char*는 해당 함수의 반환 유형입니다. 3. int*는 인수의 유형입니다. 위의 검색 함수는 별도의 사용자 정의 비교()를 작성하여 모든 데이터 유형에 사용할 수 있습니다. 우리는 뿐만 아니라 반환 값에 함수 포인터를 사용할 수 있습니다 (계속 하려고, 그것은 지저분한 가져옵니다): 함수 포인터의 배열 스위치 또는 다음 프로그램에서와 같이 결정을 내리기 위한 if 문 역할을 재생할 수 있습니다.: 예를 들어, ge를 호출 하 여 호출 하는 getString 함수 t 메서드는 다음과 같이 정의됩니다: 함수 포인터는 종종 형식콜백이므로 형식 안전 콜백을 살펴볼 수 있습니다. 콜백이 아닌 함수의 진입점 등에서도 마찬가지입니다. 예제의 도움으로 이것을 이해할 수 있습니다 : 여기서 우리는 두 숫자의 합계를 계산하고 합계를 반환하는 함수 합계가 있습니다.

우리는이 함수를 가리키는 포인터 f2p를 만들었습니다, 우리는이 함수 포인터 f2p를 사용하여 함수를 호출하고 있습니다. D는 동일한 규칙을 사용하여 빌드된 다른 선언자입니다. 결국 어딘가에선언된 엔티티의 이름인 ID(예: 아래 참조)로 끝납니다. 아무 것도 하지 않는 함수에 대한 포인터를 사용하여 int를 반환하고 포인터를 char를 취하고 int를 반환하는 함수로 되돌리는 함수를 빌드해 보겠습니다. 형식 defs를 사용하면 이 문은 함수 ptr_sum을 호출하고 ptr_sum은 addTwoNumbers를 가리킵니다. 문 결과 = ope[choice](x, y); 사용자가 선택한 대로 적절한 함수를 실행합니다 입력한 두 정수는 함수에 전달된 인수입니다. Void 포인터는 함수 선언 중에 사용됩니다. 우리는 모든 유형을 반환 할 수 있도록 무효 * 반환 유형 허가를 사용합니다. 함수에 전달할 때 매개 변수가 변경되지 않는다고 가정하면 const로 선언합니다. C에서 객체 지향 프로그래밍 스타일로 작성하는 방법을 배우고 있다는 면책 조항을 추가해야하므로 잘 설명하지 않았거나 C에서 OOP를 구현하는 가장 좋은 방법의 측면에서 벗어난 점이있을 수 있습니다.

그러나 내 목적은 함수 포인터의 많은 용도 중 하나를 설명하는 것이었습니다. 우리는 그 매개 변수로 완료되었기 때문에 D2를 ID1로 대체했습니다 (이미 함수에 대한 포인터입니다 – 다른 선언자가 필요하지 않습니다). ID1은 매개 변수의 이름이 됩니다. 이제, 나는 끝에서 위에서 말했듯이 모든 선언자가 수정하는 형식을 추가합니다 – 모든 선언의 맨 왼쪽에 나타나는 형식입니다. 함수의 경우 반환 형식이 됩니다. 포인터의 경우, 가리키는 유형 등 … 형식을 적어 두면 반대 순서로 표시되며, 바로 🙂 어쨌든, 그것을 대체하면 완전한 선언이 생성됩니다. 물론 두 번 모두 int.

6) 일반 데이터 포인터와 마찬가지로 함수 포인터는 인수로 전달될 수 있으며 함수에서 반환될 수도 있습니다.

Posted in Uncategorised