C++指向函数的指针实例解析
2023-06-13 09:15:37 时间
通常来说C++函数指针是指指向函数的指针,而非指向对象的指针。就像其他指针一样,函数指针也指向某个特定的类型。函数类型由其返回类型以及形参表确定,而与函数名无关。
定义:
char(*fP)(char,int);
赋值:
charfunction(chari,intj) { }
fp=function;
调用
(*fp)(10,100);
typechar(*FUN)(char,int);//类型定义 FUNfp;//定义fp为指向函数的指针
volatile的用法和作用:
const与volatile相反,
volatile表示该内存中的数值可能随时会改变。
uchara,b,c a=5; b=a;//b=5 c=a;//c=5 volatileuchara,b,c a=5; b=a;//b不确定 c=a;//c不确定
例如单片机的P0口初始化为:
P0=0x00000001 a=p0;//如果人为使P0口外部都接高电平,则a=0x11111111,而不是0x00000001。与硬件相关
在定义寄存器相应的地址时常用到volatile:
#definerGPCCON(*(volatileunsigned*)0x56000020) #definerGPCDAT(*(volatileunsigned*)0x56000024)
在项目里文件比较多时,尽量少用全局变量,而应直接利用函数调用形式
单个文件:static char i; 定义静态变量,防止别的文件对变量值的意外修改。
charfun(void) { return(i); }
直接使用外部调用全局变量形式:externinti; 这样的缺点是存在隐患,当文件较多时很可能出现全局的变量重名的问题,这时候要修改的话可能较麻烦。
相关文章
- C++学习——c++逗号操作符说明(附加全部运算符优先级)
- 建议收藏!C++ set用法大全
- EasyC++42,模板函数显式实例化
- c语言createthread函数,C++中CreateThread函数创建线程的用法和实例
- c++私有变量和公有变量_没有与指定类型匹配的重载函数实例
- c++ map有序还是无序_hashmap与map的区别
- C++字符串加密_c++字符串连接函数
- C/C++ 类与构造析构等知识
- 【C++】适配器模式 -- stack/queue/dqueue
- 【C++】通过stack、queue、deque理解适配器模式
- C/C++经典网站详解编程语言
- C++ double和float(浮点类型)详解
- C++阶乘函数(递归)详解
- c++判断奇数偶数实例介绍
- VC++开发中完美解决头文件相互包含问题的方法解析
- C++内核对象封装单实例启动程序的类
- C++获取文件哈希值(hash)和获取torrent(bt种子)磁力链接哈希值
- c++读写文件流实例程序讲解
- C与C++之间相互调用实例方法讲解
- C++中Semaphore内核对象用法实例
- C++实现多线程查找文件实例
- C++递归删除一个目录实例
- C++虚函数表实例分析
- Lua中调用C++函数实例