Loading

理解C++函数指针和指针函数(一)

函数指针

实际上使用最多的还是指针函数,但我们还是可以先看看函数指针

奇怪的是,大家搜索指针函数,或者Pointer function,出来的还是函数指针的链接。

OK,废话不多说,先给大家举个例子。

char* func1(char * p)
{
	cout << p << endl;

	return p;
}

简单的理解,实际上就是一个返回(char*)类型的一个指针。

我们看看简单应用:

int _tmain(int argc, _TCHAR* argv[])
{
      char* p = func1("123");

      cout<<p<<endl;
}

正确的输出结果为:

123
123

好的,大家知道什么是指针函数了?我们可以加大力度了

typedef大家都用过,但是大家有定义过指针函数吗?比如这样的:

typedef char* pFunc(char *p);

一反常态,这样的typedef在初始化的时候,要像下面这样定义:

pFunc(*c);
c = func1;
c("123");

OK,再给大家进阶一下,定义一个数组形式的。


	pFunc(*pf[3]);

	pf[0] = func1;
	pf[1] = &func1;
	pf[2] = **********func1;


	pf[0]("pf0");
	pf[1]("pf1");
	pf[2]("pf1");

输出结果是:

pf0
pf1
pf2
posted @ 2020-05-29 17:30  ligiggy  阅读(276)  评论(0编辑  收藏  举报