指標(pointer)就是記憶體的位址,c語言允許用乙個變數來存放指標,這種變數稱為指標變數。指標變數可以存放基本型別資料的位址,也可以存放陣列、函式以及其他指標變數的位址。
程式在執行過程中需要的是資料和指令的位址,變數名、函式名、字串名和陣列名在本質上是一樣的,它們都是位址的助記符:在編寫**的過程中,我們認為變數名表示的是資料本身,而函式名、字串名和陣列名表示的是**塊或資料塊的首位址;程式被編譯和鏈結後,這些名字都會消失,取而代之的是它們對應的位址。
1) 指標變數可以進行加減運算,例如p++、p+i、p-=i。指標變數的加減運算並不是簡單的加上或減去乙個整數,而是跟指標指向的資料型別有關。
2) 給指標變數賦值時,要將乙份資料的位址賦給它,不能直接賦給乙個整數,例如int *p = 1000;是沒有意義的,使用過程中一般會導致程式崩潰。
3) 使用指標變數之前一定要初始化,否則就不能確定指標指向**,如果它指向的記憶體沒有使用許可權,程式就崩潰了。對於暫時沒有指向的指標,建議賦值null。
4) 兩個指標變數可以相減。如果兩個指標變數指向同乙個陣列中的某個元素,那麼相減的結果就是兩個指標之間的元素個數。
5) 陣列也是有型別的,陣列名的本意是表示一組型別相同的資料。在定義陣列時,或者和 sizeof、& 運算子一起使用時陣列名才表示整個陣列,表示式中的陣列名會被轉換為乙個指向陣列首位址的指標。
對C語言指標的總結
指標 pointer 就是記憶體的位址,c語言允許用乙個變數來存放指標,這種變數稱為指標變數。指標變數可以存放基本型別資料的位址,也可以存放陣列 函式以及其他指標變數的位址。程式在執行過程中需要的是資料和指令的位址,變數名 函式名 字串名和陣列名在本質上是一樣的,它們都是位址的助記符 在編寫 的過程...
對C語言指標的總結
指標 pointer 就是記憶體的位址,c語言允許用乙個變數來存放指標,這種變數稱為指標變數。指標變數可以存放基本型別資料的位址,也可以存放陣列 函式以及其他指標變數的位址。程式在執行過程中需要的是資料和指令的位址,變數名 函式名 字串名和陣列名在本質上是一樣的,它們都是位址的助記符 在編寫 的過程...
我對指標的一些總結
首先我很推薦看華清裡面講的c指標還有c語言中文網裡面對c指標的講解。指標變數加一是向位址大的方向移動乙個目標資料 陣列名相對於陣列元素都是進了指標一級 指標陣列很適合操作二維陣列 指標陣列的陣列名其實就是個二級指標 下面摘自c語言中文網,理解 int 在不同的場景下有不同的作用 可以用在指標變數的定...