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

 更新时间:2014年07月14日 16:53:51   投稿:shichen2014  
这篇文章主要介绍了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++内存对齐的实现

    本文主要介绍了C++内存对齐的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • C/C++通过HTTP实现文件上传与下载的示例详解

    C/C++通过HTTP实现文件上传与下载的示例详解

    WinInet是 Microsoft Windows 操作系统中的一个 API 集,用于提供对 Internet 相关功能的支持,它包括了一系列的函数,使得 Windows 应用程序能够进行网络通信、处理 HTTP 请求、FTP 操作等,本文给大家介绍了C/C++通过HTTP实现文件上传与下载,需要的朋友可以参考下
    2023-12-12
  • C++简明分析讲解布尔类型及引用

    C++简明分析讲解布尔类型及引用

    布尔型(Boolean),是一种类型变量类型,引用(reference)就是C++对C语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样
    2022-04-04
  • c++容器list、vector、map、set区别与用法详解

    c++容器list、vector、map、set区别与用法详解

    这篇文章主要介绍了c++容器list、vector、map、set区别与用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 学习二维动态数组指针做矩阵运算的方法

    学习二维动态数组指针做矩阵运算的方法

    这片文章介绍了如何利用二维动态数组指针做矩阵运算,需要的朋友可以参考下
    2015-07-07
  • C语言实现数据结构串(堆分配存储表示法)实例详解

    C语言实现数据结构串(堆分配存储表示法)实例详解

    这篇文章主要介绍了C语言实现数据结构串(堆分配存储表示法)实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • Ubuntu16.04下配置VScode的C/C++开发环境

    Ubuntu16.04下配置VScode的C/C++开发环境

    这篇文章主要介绍了Ubuntu16.04下配置VScode的C/C++开发环境的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • C语言实现员工工资管理系统

    C语言实现员工工资管理系统

    这篇文章主要为大家详细介绍了C语言实现员工工资管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • C语言实现通用数据结构之通用链表

    C语言实现通用数据结构之通用链表

    这篇文章主要为大家详细介绍了c语言实现通用数据结构之通用链表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • C++中神奇的tuple详解使用技巧及实例解析

    C++中神奇的tuple详解使用技巧及实例解析

    C++11标准新引入了一种类模板,命名为 tuple(中文可直译为元组),下面这篇文章主要给大家介绍了关于C++中神奇的tuple详解使用技巧及实例解析的相关资料,需要的朋友可以参考下
    2024-01-01

最新评论