指標是乙個變數或者說是程式語言中的乙個物件,存放記憶體單元的位址。「指標」的意思就是通過它能找到以它為位址的記憶體單元。
指標是有型別的,型別名為: 型別說明符*
指標型別的定義:
型別說明符(目標變數的型別) *(指標型別說明符) 指標變數名
如:int * p; char * p;
指標型別的意義指標的型別決定了,對指標解引用的時候有多大許可權(能操作幾個字元)
陣列名標識的是陣列首元素的位址
sizeof(陣列名) ; 計算的是整個陣列在記憶體中的大小。
&陣列名;取出的值與第乙個元素的首位址一致,但其偏移量並非陣列的乙個元素大小而是整個陣列的大小。
資料儲存方面
指標儲存的是位址(儲存目標資料位址,自身位址由編譯器分配),記憶體訪問偏移量為4個位元組,無論其中儲存的是何種資料均已位址型別進行解析。
陣列儲存的資料。陣列名表示的是第乙個元素的位址,記憶體偏移量是儲存資料型別的記憶體偏移量;只有對陣列名取位址(&陣列名)時陣列名才表示整個陣列,記憶體偏移量是整個陣列的大小(sizeof(陣列名))。
資料訪問方面
指針對資料的訪問方式是間接訪問,需要用到解引用符號(*陣列名)
陣列對資料的訪問則是直接訪問,可通過下標訪問或陣列名+元素偏移量的方式
使用環境
指標多用於動態資料結構(如鍊表,等等)和動態記憶體開闢。
陣列多用於儲存固定個數且型別統一的資料結構(如線性表等等)和隱式分配.
指標變數也是變數,是變數就有位址。所以存在二級指標!
C語言指標
指標變數是包含記憶體位址的變數,它指向記憶體中的一塊區域,通過指標的值,可以間接訪問到相應的記憶體單元的資料,並做相應的修改。1 指標的定義和簡單使用 定義乙個指標變數和定義一般的變數類似,只需在變數名前面加乙個 對乙個指標變數賦值可以用取位址符 來獲取到乙個變數的位址,如果要獲得指標指向的記憶體區...
C語言指標
1 定義指標變數void change int n 格式 變數型別 變數名 定義了乙個指標變數p 指標變數只能儲存位址 指標變數p前面的int 指標變數p只能指向int型別的資料 int main void change int n 2 指標與陣列 陣列名其實質是乙個指標,但是它和普通的指標變數還是...
c語言指標
編寫程式,在主函式裡用指標陣列輸入六個字串,再用另乙個函式對這六個字串排序,並在主函式中輸出排好序的字串。include void sort char s,int n char temp for int i 0 ifor int j 0 jif strcmp s j s j 1 0 temp s j...