歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linuxc編程的常用關鍵字 register ,static ,extern ,const ,typedef

Linuxc編程的常用關鍵字 register ,static ,extern ,const ,typedef

日期:2017/3/3 12:28:26   编辑:Linux技術

Linuxc編程的常用關鍵字 register ,static ,extern ,const ,typedef 1、register關鍵字

寄存器變量。用來請求編譯器盡可能的將register修飾的值保存在寄存器中,從而省去cpu從內存中抓取數據的時間,從而提高程序的運行效率。 使用的情況:1、經常被調用和使用的參數

2、大型的循環中使用的參數 使用時的注意事項:1、只修飾局部變量,不能修飾全局變量,也不能修飾函數;

2、其修飾的變量的地址保存在寄存器中,所以不能對其進行取地址(&)操作; 3、類型必須是cpu所能夠接受的數據類型。

2、static關鍵字 1、修飾局部變量:被其修飾的局部變量叫做靜態局部變量,延長其數據的生命周期至整個程序執行結束後釋放;

2、修飾全局變量:被其修飾的全局變量叫做靜態全局變量,其數據只能在本文件中訪問,不能被其他的文件訪問; 3、修飾函數:被其修飾的函數叫做靜態函數,只能在本文件內被調用,不能被其他的文件調用。 ps:值得注意的是:靜態函數必須在前面定義,非靜態的要放在後面,否則編譯器會報錯。

3、extern關鍵字 外部聲明函數,常用來鏈接其他文件中定義的變量。

4、const 函數 只讀變量(readonly)。被其修飾的變量,可以被使用,但是不能直接通過操作變量名進行直接修改,但是我們可以通過地址修改其中的值

const int i = 0; i ++; // 這樣是不能修改的

const int i = 0; int *p;

p = &i; p++; //這樣就可以修改其中的i的值

5、typedef函數 用於重命名,例如對一些復雜的類型聲明可以用typedef

typedef unsigned int int_u //將unsigned int 重新命名為int_u; 這樣我們在在經常使用unsigned int 的時候可以很方便的寫成int_u,而且我們的代碼的移植性也會增強,可以直接在頭文件這邊更改所有的數據類型。增強了代碼的移植性。

Copyright © Linux教程網 All Rights Reserved