C指標小結3

2021-06-29 13:31:45 字數 1034 閱讀 4035

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.什麼叫 指向 位址就意味著指向,因為通過位址能找到具有該位址的物件。對於指標...