C/C++知识分享: 函数指针与指针函数,看完这篇你还能不懂?
On 8月 - 6 - 2022
例如:int*GetDate();int*aaa(int,int);函数返回的是一个地址值,经常使用在返回数组的某一元素地址上。
在一个程序中,指针变量p可以先后指向不同的函数,但一个函数不能赋给一个不一致的函数指针(即不能让一个函数指针指向与其类型不一致的函数。
主函数中的第7行是个条件语句,其语义是,如输入为负数(i<0)则中止程序运行退出程序。
其一般定义形式如下:**类型名*****函数名**(**函数参数表列**);其中,后缀运算符括号()表示这是一个函数,其前缀运算符星号*表示此函数为指针型函数,其函数值为指针,即它带回来的值的类型为指针,当调用这个函数后,将得到一个指向返回值为…的指针(地址),**类型名**表示函数返回的指针指向的类型。
函数指针大家了解一下就行了,用得不多,但一定要认识它。
函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。
今天这里只讲两个相对简单的,其实上面说那些太复杂的东西也真的很少用,即便是用了理解起来很麻烦,所以莫不如先深刻理解这两个比较容易的,并且项目中比较常用到。
讲解到这里,相信你已经明白了。
这里fun1不是什么函数名,而是一个指针变量,它指向一个函数。
不能用*(p+1)来表示函数的下一条指令。
Add your comment