C/C++ 指针函数 与 函数指针

本文详细解析了指针函数与函数指针的区别及其使用方法,通过具体实例展示了如何定义与调用指针函数及如何声明与使用函数指针。

指针函数是个函数,是返回指针类型到函数。

函数指针是个指针,是指向函数地址到指针。

区分两者的关键点是,函数名是否用*和括号“包围”起来。

 1 #include <stdio.h>
 2 int *create_node(int);  //指针函数声明
 3 int *(*fun)(int);   //函数指针声明, 指向返回int*且有一个int参数的函数.
 4 
 5 //定义一个指针函数(返回值是指针的函数)
 6 int *create_node(int val){
 7     int *a = new int;
 8     *a = val;
 9     return a;
10 }
11 
12 int main (){ 
13     //通过函数名称调用函数, 这个函数名称就是函数的指针
14     //函数名称指向就是函数到地址
15     int *a = create_node(4);
16     printf("a_val : %d\n", *a);
17     delete a;
18 
19     //函数指针是个指针变量
20     fun = create_node;
21     int *b = fun(5);
22     printf("b_val : %d\n", *b);
23     delete b;
24 
25     return 0;   
26 }

 

 就简单说明到这里吧, 看代码注释。^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值