1.首先要準確地弄清楚指標的含義。指標就是位址,凡是出現「指標」的地方,都可以用「位址」代替,例如,變數的指標就是變數的位址,指標變數就是位址變數 要區別指標和指標變數。指標就是位址本身,而指標變數是用來存放位址的變數
2. 什麼叫「指向」?位址就意味著指向,因為通過位址能找到具有該位址的物件。對於指標變數來說,把誰的位址存放在指標變數中,就說此指標變數指向誰。但應注意:只有與指標變數的基型別相同的資料的位址才能存放在相應的指標變數中。void *指標是一種特殊的指標,不指向任何型別的資料,如果需要用此位址指向某型別的資料,應先對位址進行型別轉換。可以在程式中進行顯式的型別轉換,也可以由編譯系統自動進行隱式轉換。無論用哪種轉換,讀者必須了解要進行型別轉換
3. 要深入掌握在對陣列的操作中怎樣正確地使用指標,搞清楚指標的指向。一維陣列名代表陣列首元素的位址。 int *p,a[10]; p=a; p是指向int型別的指標變數,p只能指向陣列中的元素,而不是指向整個陣列。在進行賦值時一定要先確定賦值號兩側的型別是否相同,是否允許賦值。 對「p=a;」,準確地說應該是:p指向a陣列的首元素
4.有關指標變數的定義形式的歸納比較,見主教材中表8.4。
5.(1)指標運算 指標變數加(減)乙個整數 例如:p++,p--,p+i,p-i,p+=i,p-=i等均是指標變數加(減)乙個整數。 將該指標變數的原值(是乙個位址)和它指向的變數所占用的儲存單元的位元組數相加(減)
(2)指標變數賦值 將乙個變數位址賦給乙個指標變數 不應把乙個整數賦給指標變數
(3) 兩個指標變數可以相減 如果兩個指標變數都指向同乙個陣列中的元素,則兩個指標變數值之差是兩個指標之間的元素個數
(4) 兩個指標變數比較 若兩個指標指向同乙個陣列的元素,則可以進行比較 指向前面的元素的指標變數「小於」指向後面元素的指標變數 如果p1和p2不指向同一陣列則比較無意義
(5) 指標變數可以有空值,即該指標變數不指向任何變數,可以這樣表示: p=null;
指標小結(摘自C 程式設計教程)
1.int p p是一般指標,用於指向整形量。被指向的整形量可以是簡單的整形量,也可以是一維整形陣列或二維整形陣列中的乙個元素,因為陣列的每乙個元素都是整形量。int 型別的指標與一維整形陣列名在資料型別上等價,即一維整形陣列名是指標,其型別也是int 注意,p是指標變數,其值可變 而陣列名是指標常...
c 指標小結
宣告指向特定型別的指標,使用以下格式 typename pointername 示例 double pn 宣告乙個double型別的指標 char pc 宣告乙個char型別的指標應將記憶體位址賦值給指標,對變數名應用 運算子,來獲得變數位址,或使用new運算子返回未命名的記憶體位址。示例 doub...
C指標小結1
c指標小結1 我認為c語言的核心就是指標和對記憶體的操作,而操作記憶體就是由指標實現的,所以說指標真的非常非常重要,在後邊的資料結構的學習中更要用指標,如果你立志要走c系統的開發這條路,那麼你就應當精通指標的各種應用。下面寫一點博主在學習指標時的一點小心得,小體會 僅僅一家之言 在剛學習指標時是真的...