C指標小結1

2021-06-29 12:03:20 字數 1143 閱讀 5961

c指標小結1

我認為c語言的核心就是指標和對記憶體的操作,而操作記憶體就是由指標實現的,所以說指標真的非常非常重要,在後邊的資料結構的學習中更要用指標,如果你立志要走c系統的開發這條路,那麼你就應當精通指標的各種應用。下面寫一點博主在學習指標時的一點小心得,小體會(僅僅一家之言)。

在剛學習指標時是真的一頭霧水,感覺好難理解啊,這到底是個什麼鬼?為何如此之難?不過在經過很長時間的糾結後博主還是有所體會。

指標: 指標

(pointer)是程式語言

中的乙個物件,利用位址

,它的值直接指向(points to)存在電腦儲存器中另乙個地方的值。由於通過位址

能找到所需的變數單元,可以說,位址指向該變數單元。

運算子* 和& ,「*」的意思是取出這個位址儲存的內容,「&」的意思是取出儲存這個值的位址(取位址符)

例如:int *a;

這個a就是乙個指標,此時a儲存的是乙個位址。

指標的初始化:

既然指標是乙個位址,那麼初始化時就應當賦給指標乙個位址作為初始值。

int *a;

int b=5;

a=&b;

此時a的值為乙個位址(這個位址是隨機分配的),

此時b的值為乙個int型的常量5,此時*a的值正是5;

現在就兩個表示式進一步說明指標:

int  c=4;

int *p=&c;

上邊宣告了乙個int型常量c和乙個指向int型的指標p。

現在討論賦值問題:

位址(&c),(&p),(++p),(p++)都是不能當作左值來賦值的。

位址中包含的內容(常量)(++*p),(*p)++,++*++p,也不能當作左值來賦值。

指標同樣可以進行算術運算,對它加上n,就等於它向後移動n個元素,當指標進行減法運算或者比較運算時(這兩個或多個指標都要指向同乙個陣列中的元素);

使用指標時應當注意的地方:

1.錯誤地對乙個未初始化的指標變數進行解引用。

2.錯誤地對乙個null指標進行解引用。

3.向函式錯誤地傳遞了乙個null指標。

4.未檢測到指標表示式的錯誤,從而引起錯誤。

5.對乙個指標進行減法運算,使它非法地指向了陣列的第乙個元素的前面的位置。

6.小心使用++p和--p這類表示式,極有可能越界導致嚴重後果。

c 指標小結

宣告指向特定型別的指標,使用以下格式 typename pointername 示例 double pn 宣告乙個double型別的指標 char pc 宣告乙個char型別的指標應將記憶體位址賦值給指標,對變數名應用 運算子,來獲得變數位址,或使用new運算子返回未命名的記憶體位址。示例 doub...

C指標小結3

c指標小結3 現在總結指標的更高一級的用法,其中指向函式的指標在我的博文中已經單獨介紹過了,將會補充介紹幾點,現在介紹別的指標的用法。首先介紹幾個陷阱 int f int f 這兩個宣告都是非法的,如果有人問這兩個宣告什麼意思,我們應當不加思索的說出這是錯誤地宣告,博主就曾經苦苦思考過這兩個宣告的意...

c程式設計 指標小結

1.首先要準確地弄清楚指標的含義。指標就是位址,凡是出現 指標 的地方,都可以用 位址 代替,例如,變數的指標就是變數的位址,指標變數就是位址變數 要區別指標和指標變數。指標就是位址本身,而指標變數是用來存放位址的變數 2.什麼叫 指向 位址就意味著指向,因為通過位址能找到具有該位址的物件。對於指標...