指標在c語言中是比較重要的,個人認為,c語言中最重要的是記憶體,如何操作記憶體是至關重要的,指標是c語言的精華,學好了指標才可以說c語言入了門。接下來認真總結一下c語言中指標的用法。
資料型別的本質是固定大小記憶體塊的別名,指標毫無例外,指標也是占有記憶體空間的,在32位機器中,指標是佔4個位元組的,指標儲存的是乙個位址,通過這個位址可以訪問到一段記憶體空間。
#include
#include
#include
intmain
(void
)
指標也是一種變數,它的值為另乙個變數的位址。
int
*ip;
/* 乙個整型的指標 */
double
*dp;
/* 乙個 double 型的指標 */
float
*fp;
/* 乙個浮點型的指標 */
char
*ch;
/* 乙個字元型的指標 */
不同型別的指標之間唯一的不同是,指標所指向的變數或常量的資料型別不同。
*號在指標宣告時,*號表示所宣告的變數為指標;、
在指標使用時,*號表示操作指標所指向記憶體空間中的值。
*p相當於通過位址(p變數的值)找到一塊記憶體;然後操作記憶體
*p放在等號的左邊賦值(給記憶體賦值)
*p放在等號的右邊取值(從記憶體獲取值)
指標變數儲存的是4個位元組大小的記憶體位址,指標所指向的記憶體塊裡儲存著另乙個變數的值。
int
main
(void
)
注意
指標指向誰,就把誰的位址賦給指標
不斷的給指標變數賦值,就是不斷的改變指標變數,就是不斷的修改指標的指向(和所指向的記憶體空間裡的值無關)
voidf(
int*p)
intmain
(void
)
我們可以通過被呼叫函式間接的修改某一變數的值,也就是說,我們可以通過乙個函式將運算的結果傳出來,或許我們可以給函式加上返回值,但是函式返回值只能把乙個運算結果返回,如果我們要修改兩個或兩個以上的變數的值呢,這樣的方法顯然就不適用了,這就是指標作為函式引數間接修改變數的值的精華之處。
記憶體分配方式
a) 指標做函式引數,是有輸入和輸出特性的。
輸入:指標所指向的記憶體空間是在主呼叫函式中分配好的
輸出:指標所指向的記憶體空間是在被呼叫函式中分配好的
2017 09 11指標複習
1.指標 一段記憶體的位址 本質就是變數 資料 注意 空指標,野指標 2.指標的操作 取決於什麼型別的指標 3.指標訪問資料,訪問範圍 4.指標陣列,陣列指標 指標陣列 int p 陣列指標int p 5.常量指標,指標常量 const char p 常量指標 char const p 指標常量 6...
C語言學習(三) 指標
指標的定義int p char p float p指標變數所佔記憶體的大小 跟前面定義的型別無關 而跟系統有關 16bits作業系統 2b 32bits作業系統 4b 64bits作業系統 8b 指標指向乙個值所在的第乙個位元組 通常乙個位址存放乙個位元組 const修飾指標 指標指向乙個字串時 如...
基礎複習 三 指標與引用
指標基本問題 傳遞動態記憶體 1.錯誤示例 includevoid getmemory char p,int num int main 正確示例1 使用指標的指標 includevoid getmemory char p,int num int main 正確示例2 使用返回值 includecha...