c指標小結3
現在總結指標的更高一級的用法,其中指向函式的指標在我的博文中已經單獨介紹過了,將會補充介紹幾點,現在介紹別的指標的用法。
首先介紹幾個陷阱:
int f();
int f();
這兩個宣告都是非法的,如果有人問這兩個宣告什麼意思,我們應當不加思索的說出這是錯誤地宣告,博主就曾經苦苦思考過這兩個宣告的意思,現在想想都覺得可笑。
現在對於指向函式的指標補充幾點:
例如:int (*pf)(int)=&f;
現在建立了乙個函式指標,並把它初始化為指向函式f,其實初始化表示式的&操作符是可選的,因為函式名被使用時總是由編譯器把它轉化為函式指標。&操作符只是顯示的說明了編譯器隱式的執行的任務。
函式名首先被轉換為乙個函式指標,該指標制定函式在記憶體中的位置。
除了函式指標還有乙個重要的用法就是轉化表。就是使用void進行泛型的計算。
我的博文void與泛型計算已經比較清楚的說明了這一問題。
指標最後乙個高階應用例項就是命令列引數的使用,也已經介紹過了。
現在介紹關鍵字const.
const可以建立陣列常量,指標常量,以及指標常量的指標。
通常把指向常量的指標用作函式參量,以表明函式不會引用這個指標來修改資料。
void show_array(const double *ar ,int n)
關於指標賦值和const有一些規則要注意,首先將常量或非常量資料的位址賦給指向常量的指標是合法的。
int rates[10]=;
const double *p=rates;
然而只有非常量資料的位址才能賦給普通指標:
const double a;
p=a;非法
double *p=rates;合法
宣告乙個指向固定的位址的指標:
double *const p=rates;這個指標指向陣列的第乙個元素的位址並且不能改變。
可以使用兩個const來進行宣告:
const double *const p=rates;不可以修改指標的值和指標指向的內容。
c 指標小結
宣告指向特定型別的指標,使用以下格式 typename pointername 示例 double pn 宣告乙個double型別的指標 char pc 宣告乙個char型別的指標應將記憶體位址賦值給指標,對變數名應用 運算子,來獲得變數位址,或使用new運算子返回未命名的記憶體位址。示例 doub...
C指標小結1
c指標小結1 我認為c語言的核心就是指標和對記憶體的操作,而操作記憶體就是由指標實現的,所以說指標真的非常非常重要,在後邊的資料結構的學習中更要用指標,如果你立志要走c系統的開發這條路,那麼你就應當精通指標的各種應用。下面寫一點博主在學習指標時的一點小心得,小體會 僅僅一家之言 在剛學習指標時是真的...
c程式設計 指標小結
1.首先要準確地弄清楚指標的含義。指標就是位址,凡是出現 指標 的地方,都可以用 位址 代替,例如,變數的指標就是變數的位址,指標變數就是位址變數 要區別指標和指標變數。指標就是位址本身,而指標變數是用來存放位址的變數 2.什麼叫 指向 位址就意味著指向,因為通過位址能找到具有該位址的物件。對於指標...