Advertisement

C++从函数或方法返回动态内存(函数指针)和(指针函数)

阅读量:

函数指针与指针函数

函数指针:
如果在程序中定义了一个函数,那么编译时系统就会为这个函数分配一段存储空间 , 这段存储空间的首地址称为这个 函 数 的 地 址 。而且函数名表示的就是这个地址。既然是地址,我们就可以定义一个 指针变量来存放,这个指针变量就叫做 函 数 指 针 变 量,简称为 函 数 指 针 。指向函数的指针包含了函数的地址的入口地址(首地址) ,可以通过它来调用函数。

定义函数指针:
那么这种指示器变量如何定义呢?尽管它们都指向内存地址这一事实相同的存在不同之处在于它们的功能定位以及声明机制存在明显差异以下是一些典型示例供参考:
例如,在C语言中我们可以这样做:

复制代码
    int(*p)(int x,int y);

上述语句通过指针变量 "p" 定义了一个指向函数的对象。其次,“p”作为一个指针变量,在前面加上“*”运算符得到的结果是 '*p’的形式。其中,“int(*p)"表示该指针变量能够指向返回值类型为整型(int)的函数。此外,“(int x, int y)”括号内的内容说明该指针变量能够指向接受两个整型参数(int)的函数。

该语句所表达的意思是:指定一个名为 p 的指针变量;该对应回答的是返回值数据类型设为整数,并可接收两个整数类型的参数的功能。其中所述之函数指

全部评论 (0)

还没有任何评论哟~