黑马程序员技术交流社区

标题: 新人笔记2 [打印本页]

作者: snowimba    时间: 2015-10-12 20:32
标题: 新人笔记2
1、函数指针:
        一个函数总是占用一段连续的内存区,函数名就是该函数所占存储区的首地址;
        把指向函数的指针变量称为:函数指针变量;
       
2、函数指针定义方法:
                返回值类型 (*变量名)(函数的参数);
                #include <stdio.h>
               
                int sum(int a,int b){
                    return a>b?a:b;
                }
               
                int main(int argc, const char * argv[]) {
                    // insert code here...
                    // 可以不写形参名;
                    int (*p)(int a,int b);//定义函数指针;
                    p = sum;//初始化
                    printf("Hello, World!\n");
                    return 0;
                }
               
               
3、函数指针的使用:
        #include <stdio.h>
       
        int sum(int a,int b){
            return a>b?a:b;
        }
        int main(int argc, const char * argv[]) {
            // 可以不写形参名;
            int (*p)(int,int);
            p = sum;
            printf("%d\n",p(2,3));
            return 0;
        }
       
                可以随意改变指向;可以减少函数改动;可以写分支函数,
                函数指针不能进行算术运算,地址移动没意义;
                函数指针是间接调用;
               
               
               





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2