C++指向函數的指標執行個體解析_C 語言

來源:互聯網
上載者:User

通常來說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;   這樣的缺點是存在隱患,當檔案較多時很可能出現全域的變數重名的問題,這時候要修改的話可能較麻煩。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.