当前位置:  编程技术>c/c++/嵌入式

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

    来源: 互联网  发布时间:2014-10-25

    本文导语:  通常来说C++函数指针是指指向函数的指针,而非指向对象的指针。就像其他指针一样,函数指针也指向某个特定的类型。函数类型由其返回类型以及形参表确定,而与函数名无关。 定义: char (*fP)(char,int); 赋值:...

通常来说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++ MultiMaps 成员 begin():返回指向第一个元素的迭代器
  • C++中指向对象的常指针与指向常对象的指针详解
  • 博客 iis7站长之家
  • C++中返回指向函数的指针示例
  • C++ Maps 成员 end():返回指向map末尾的迭代器
  • C++指向函数的指针用法详解
  • C++ MultiMaps 成员 end():返回一个指向multimap末尾的迭代器
  • C++中用指向数组的指针作函数参数
  • C++ Maps 成员 rend():返回一个指向map头部的逆向迭代器
  • java中有像C++中指向函数的指针这种东西吗?
  • C++ Maps 成员 rbegin():返回一个指向map尾部的逆向迭代器
  • C++中指向结构体变量的指针
  • C++ MultiMaps 成员 rbegin():返回一个指向mulitmap尾部的逆向迭代器
  • 深入解析C++中的指针数组与指向指针的指针
  • C++ MultiMaps 成员 rend():返回一个指向multimap头部的逆向迭代器
  • C++指向类成员函数的指针详细解析
  • C++ Lists(链表) 成员 rend():指向list末尾的逆向迭代器
  • C++ Maps 成员 begin():返回指向map头部的迭代器
  • C++ Double Ended Queues(双向队列) 成员 end():返回指向尾部的迭代器
  • C++ Strings(字符串) 成员 begin():返回一个迭代器,指向第一个字符
  • C++ Double Ended Queues(双向队列) 成员 rend():返回指向头部的逆向迭代器
  • 指向变量的常指针与指向常变量的指针详细解析
  • 指向类成员函数的指针其实并非指针
  • 系统函数返回的指针指向的内存释放的问题
  • minix filesystem v1.0 中current->root, current->pwd两个指针指向的值是在什么时候得到值的?
  • Linux提示提领指向不完全指针
  • 一个指针指向两个对象?
  • 菜鸟请教--关于指向结构体指针的赋值
  • 想建立一个指向结构体的指针数组,但编译不过,望高手指点!
  • 深入const int *p与int * const p的区别详解(常量指针与指向常量的指针)
  • 一个奇怪的问题(关于指向结构体的指针)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • CPU如何知道CS寄存器内装的是LDTR指向的描述符表的段选择符还是GDTR指向的描述符表的段选择符呢?
  • Linux下 域名指向问题 高手帮忙啊 在线等
  • ln命令如何改变链接的指向?
  • 如何设置iptables使得所有HTTP请求都指向登陆页面
  • 请教我怎样将jbuilder7的server指向我下载安装的jboss+Tomcat????急
  • 在jsp中如何实现页面的重新指向?
  • ISO是什么文件,在安装linux时候 要指向ISO文件我找不到!
  • 如何跟踪链接文件的真实指向?
  • 请问怎么查看ln指向哪里?
  • 自己新建了一个libm.so.2,用来指向已有的libm.so.1,但出错了
  • 指向數組的指針和多維數組的問題
  • 关于const char 如何指向不同的字符串
  • 我有两个域名,相指向一个ip,做虚拟主机,为什么不行啊~~~~~
  • 如何设置Tomcat实现多域名及IP指向同一JSP文件?
  • html页面如何指向web-inf/classes下的applet。是否使用codebase之类的说明,该如何书写。
  • 修改hosts文件使apache绑定域名指向本机
  • 可不可以这样认为!c语言是一道唯一指向操作系统的语言,精通了它,就了解了操作系统?
  • shell查找符号链接及其指向目标的方法介绍
  • pread疑惑:pread读完后,将指向后一个位置吗?
  • 关于多域名指向一个IP的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3