12. C 언어 - 함수 포인터와 포인터 함수

1119 단어
1. 포인터 함수
  • 이것은 반환 바늘의 함수이고 함수 반환 값은 주소
  • char *string() {
        return "cobish";
    }
    
    int *abc() {
        int a = 3;
        int *p = &a;
        return p;    //         
    }
    
    void main() {
        printf("%s
    ", string());    //  :cobish     printf("%d
    ", *abc());    //  :3 }

    2. 함수 포인터
  • 이것은 바늘로 함수를 저장하는 주소이고 함수 이름은 함수의 주소를 대표한다
  • 함수 바늘은 주로 함수 이름을 매개 변수로 전달한다
  • //       
    int sum(int a, int b) {
        int c = a + b;
        printf("%d + %d = %d
    ", a, b, c);     return c; } //  int mul(int a, int b) {     int c = a * b;     printf("%d * %d = %d
    ", a, b, c);     return c; } // count a b //  p int count(int a, int b, int (*p)(int, int)) {     p(a, b); } void main() {     //  p, p     //  p int , int     int (*p)(int, int);          //  p sum     p = sum;          //  p sum     int a = (*p)(5, 6);     //  :int a = p(5, 6);          //  count     int b = count(5, 6, sum);          //  count     int c = count(5, 6, mul); }

    좋은 웹페이지 즐겨찾기