服务器之家

服务器之家 > 正文

C++指向函数的指针实例解析

时间:2021-01-22 11:44     来源/作者:C++教程网

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

定义:

?
1
char (*fP)(charint);

赋值:

?
1
2
3
4
char function(char i,int j)
{
 
}

fp=function;
调用
(*fp)(10,100);

?
1
2
type char (*FUN)(charint);//类型定义
FUN fp ;//定义fp为指向函数的指针

volatile的用法和作用

const与volatile相反,
volatile表示该内存中的数值可能随时会改变。

?
1
2
3
4
5
6
7
8
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口初始化为:

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

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

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

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

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

?
1
2
3
4
char fun(void)
{
  return(i);
}

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

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
返回顶部