以图明志

C/C++编程语言

[专题] 漫谈C指针:函数调用的指针写法

用多种方法来调用函数
有了FunP指针变量后,我们就可以对它赋值指向MyFun,然后通过FunP来调用MyFun函数了。看我如何通过FunP指针变量来调用MyFun函数的: (*FunP)(20); 运行看看。嗯,不错,程序运行得很好。哦,我的感觉是:MyFun与FunP的类型关系类似于int 与int * 的关系。函数MyFun好像是一个如int的变量(或常量),而FunP则像一个如int * 一样的指针变量。

C/C++编程语言

[专题] 漫谈C指针:定义函数的指针类型

用这个类型来声明函数指针变量
就像自定义数据类型一样,我们也可以先定义一个函数指针类型,然后再用这个类型来声明函数指针变量。首先,在void (*FunType)(int)前加了一个typedef 。这样只是定义一个名为FunType函数指针类型,而不是一个FunType变量。然后,“FunType FunP;”这句就如“PINT px;”一样地声明一个FunP变量。

C/C++编程语言

[专题] 漫谈C指针:函数指针作为函数参数使用

附加一个实例
既然函数指针变量是一个变量,当然也可以作为某个函数的参数来使用的。所以,你还应知道函数指针是如何作为某个函数的参数来传递使用的。要求:我要设计一个CallMyFun函数,这个函数可以通过参数中的函数指针值不同来分别调用MyFun1、MyFun2、MyFun3这三个函数(注:这三个函数的定义格式应相同)。

C/C++编程语言

const int* p 表达的是什么意思

const int* p 的语义问题
先来看一行代码:const int* p = new int(10); 问题来了,new出来的地址应该是块堆内存啊,const常量应该保存在内存静态区啊,那指针p指向的那块内存到底是在静态区还是堆里?const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。
2 / 2 首页 < Prev 1 2 Next > 尾页 页码: