栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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;   这样的缺点是存在隐患,当文件较多时很可能出现全局的变量重名的问题,这时候要修改的话可能较麻烦。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/65697.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号