C++指向函數(shù)的指針實(shí)例解析
通常來(lái)說(shuō)C++函數(shù)指針是指指向函數(shù)的指針,而非指向?qū)ο蟮闹羔?。就像其他指針一樣,函?shù)指針也指向某個(gè)特定的類型。函數(shù)類型由其返回類型以及形參表確定,而與函數(shù)名無(wú)關(guān)。
定義:
char (*fP)(char,int);
賦值:
char function(char i,int j) { }
fp=function;
調(diào)用
(*fp)(10,100);
type char (*FUN)(char,int);//類型定義 FUN fp ;//定義fp為指向函數(shù)的指針
volatile的用法和作用:
const與volatile相反,
volatile表示該內(nèi)存中的數(shù)值可能隨時(shí)會(huì)改變。
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不確定
例如單片機(jī)的P0口初始化為:
P0=0x0000 0001 a=p0; //如果人為使P0口外部都接高電平,則a=0x1111 1111,而不是0x0000 0001。與硬件相關(guān)
在定義寄存器相應(yīng)的地址時(shí)常用到volatile:
#define rGPCCON (*(volatile unsigned *)0x56000020) #define rGPCDAT (*(volatile unsigned *)0x56000024)
在項(xiàng)目里文件比較多時(shí),盡量少用全局變量,而應(yīng)直接利用函數(shù)調(diào)用形式
單個(gè)文件: static char i; 定義靜態(tài)變量,防止別的文件對(duì)變量值的意外修改。
char fun(void) { return(i); }
直接使用外部調(diào)用全局變量形式:extern int i; 這樣的缺點(diǎn)是存在隱患,當(dāng)文件較多時(shí)很可能出現(xiàn)全局的變量重名的問(wèn)題,這時(shí)候要修改的話可能較麻煩。
- C++ 基本算法 冒泡法、交換法、選擇法、實(shí)現(xiàn)代碼集合
- C++指向函數(shù)的指針用法詳解
- C++指針數(shù)組、數(shù)組指針、數(shù)組名及二維數(shù)組技巧匯總
- C++智能指針實(shí)例詳解
- C++編程小心指針被delete兩次
- c++傳遞函數(shù)指針和bind的示例
- c++函數(shù)指針和回調(diào)函數(shù)示例
- c++回調(diào)之利用函數(shù)指針示例
- c++函數(shù)指針使用示例分享
- C++中給二維指針?lè)峙鋬?nèi)存(實(shí)現(xiàn)代碼)
- C++中用指向數(shù)組的指針作函數(shù)參數(shù)
- C++指針作為函數(shù)的參數(shù)進(jìn)行傳遞時(shí)需要注意的一些問(wèn)題
- C++交換指針實(shí)例
相關(guān)文章
C++內(nèi)存對(duì)齊的實(shí)現(xiàn)
本文主要介紹了C++內(nèi)存對(duì)齊的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02C/C++通過(guò)HTTP實(shí)現(xiàn)文件上傳與下載的示例詳解
WinInet是 Microsoft Windows 操作系統(tǒng)中的一個(gè) API 集,用于提供對(duì) Internet 相關(guān)功能的支持,它包括了一系列的函數(shù),使得 Windows 應(yīng)用程序能夠進(jìn)行網(wǎng)絡(luò)通信、處理 HTTP 請(qǐng)求、FTP 操作等,本文給大家介紹了C/C++通過(guò)HTTP實(shí)現(xiàn)文件上傳與下載,需要的朋友可以參考下2023-12-12c++容器list、vector、map、set區(qū)別與用法詳解
這篇文章主要介紹了c++容器list、vector、map、set區(qū)別與用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05學(xué)習(xí)二維動(dòng)態(tài)數(shù)組指針做矩陣運(yùn)算的方法
這片文章介紹了如何利用二維動(dòng)態(tài)數(shù)組指針做矩陣運(yùn)算,需要的朋友可以參考下2015-07-07C語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)串(堆分配存儲(chǔ)表示法)實(shí)例詳解
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)串(堆分配存儲(chǔ)表示法)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07Ubuntu16.04下配置VScode的C/C++開發(fā)環(huán)境
這篇文章主要介紹了Ubuntu16.04下配置VScode的C/C++開發(fā)環(huán)境的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03C語(yǔ)言實(shí)現(xiàn)員工工資管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)員工工資管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02C語(yǔ)言實(shí)現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用鏈表
這篇文章主要為大家詳細(xì)介紹了c語(yǔ)言實(shí)現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用鏈表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11