C++指向函数的指针实例解析_C语言教程-查字典教程网
C++指向函数的指针实例解析
C++指向函数的指针实例解析
发布时间:2016-12-28 来源:查字典编辑
摘要:通常来说C++函数指针是指指向函数的指针,而非指向对象的指针。就像其他指针一样,函数指针也指向某个特定的类型。函数类型由其返回类型以及形参表...

通常来说C++函数指针是指指向函数的指针,而非指向对象的指针。就像其他指针一样,函数指针也指向某个特定的类型。函数类型由其返回类型以及形参表确定,而与函数名无关。

定义:

char (*fP)(char,int);

赋值:

char function(char i,int j) { }

fp=function;

调用

(*fp)(10,100);

type char (*FUN)(char,int);//类型定义 FUN fp ;//定义fp为指向函数的指针

volatile的用法和作用:

const与volatile相反,

volatile表示该内存中的数值可能随时会改变。

uchar a,b,c a=5; b=a; //b=5 c=a; //c=5 volatile uchar a,b,c a=5; b=a; //b不确定 c=a; //c不确定

例如单片机的P0口初始化为:

P0=0x0000 0001 a=p0; //如果人为使P0口外部都接高电平,则a=0x1111 1111,而不是0x0000 0001。与硬件相关

在定义寄存器相应的地址时常用到volatile:

#define rGPCCON (*(volatile unsigned *)0x56000020) #define rGPCDAT (*(volatile unsigned *)0x56000024)

在项目里文件比较多时,尽量少用全局变量,而应直接利用函数调用形式

单个文件: static char i; 定义静态变量,防止别的文件对变量值的意外修改。

char fun(void) { return(i); }

直接使用外部调用全局变量形式:extern int i; 这样的缺点是存在隐患,当文件较多时很可能出现全局的变量重名的问题,这时候要修改的话可能较麻烦。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C语言学习
    热门C语言学习
    编程开发子分类