数组指针和指针数组,函数指针和指针函数
来源:互联网 发布:园林设计软件图库 编辑:程序博客网 时间:2024/06/04 18:16
1、指针函数
指针函数,说明本身是函数,返回值是指针,格式如下:
类型说明符 *TTTT(参数)
由于"*"的优先级低于"()"的优先级,因而"TTTT"首先和后面的"()"结合,表示"TTTT"是一个函数,其前缀运算符星号"*"表示其返回值为指针。
2、函数指针
函数指针,说明本身是指针,指向函数的指针,格式如下:
类型说明符 (*TTTT)(参数)
在C++类中使用函数指针,格式如下:
返回类型(类名::*新类型)(参数表)
在这里,指针的定义与使用都加上了“类限制”或“对象”,用来指明指针指向的函数是那个类的
class CA
{
public:
int ADD(int a, int b){return a + b;}
};
void main()
{
CA ca;
int(CA::*pFun)(int, int);
pFun = &CA::ADD;
(ca.*pFun)(1, 2);
}
通过括号强行将"TTTT"首先与"*"结合,表示"TTTT"是一个指针,接着与后面的"()"结合,说明该指针指向的是一个函数,然后再与前面的"类型说明符"结合,也就是说,该函数的返回值是"类型说明符"类型。
3、指针数组
指针数组,说明本身是数组,数组内容是指针,格式如下:
类型说明符 *变量名[维数];
4、数组指针
数组指针,说明本身是指针,指向数组的指针,格式如下:
类型说明符 (*数组指针名)[维数];
例子:
int Add(int, int);
typedef int(*FUN)(int, int);
函数指针赋值。
函数名可以理解为该类型函数的指针。当然,取地址操作符作用于函数名上也能产生指向该类型函数的指针。也就是说下面两种赋值都是可行的:
函数调用。
无论是用函数名调用,还是用函数指针调用,还是用显式的指针符号调用,其写法是一样的:
Add(1, 2);
fun(1, 2);
(*fun)(1, 2);
- 函数指针,指针数组和数组指针
- 数组指针,指针数组和函数指针
- 函数指针和指针函数 数组指针和指针数组
- 数组指针和指针数组,函数指针和指针函数
- 指针函数和函数指针、指针数组和数组指针
- 指针函数和函数指针、指针数组和数组指针
- 数组指针和指针数组 指针函数和函数指针
- 数组指针和函数指针
- 数组指针、 指针数组、函数指针、函数指针数组和指向函数指针数组的指针
- 简述指针数组 数组指针 函数指针 函数指针数组和函数指针数组的指针
- 指针函数、数组指针、函数指针、函数指针数组和指向函数指针数组的指针
- 函数指针 和 函数指针数组 和 函数指针数组
- 指针常量和常量指针、函数指针和指针函数、指针数组和数组指针
- 指针、数组和函数
- 指针.数组和函数
- 指针、数组和函数
- 指针,数组和函数
- 数组、指针和函数
- UML_时序分析
- C++ vector 排序(转载)
- 详解Linux内核之双向循环链表 .
- 如何把vmware 10变成英文版。。。
- Selenium的演变过程
- 数组指针和指针数组,函数指针和指针函数
- UML_需求
- make jsoncpp under Linux
- C++容器:顺序容器,关联容器
- 大话设计模式--外观模式 Facade -- C++实现实例
- POINT RECT CPoint CRect
- 深入浅出 Cocoa 多线程编程之 block 与 dispatch quene 2
- cocos2d-x 跨平台Socket网络模块
- hdu 2896 病毒侵袭(AC自动机水题)