第一次用markdown編輯器,感覺很過癮:-d
c++primer中指標的定義:指標(pointer)是「指向(point to)」另外一種型別的復合型別。與引用類似,指標也實現了對其他物件的間接訪問。
1.指標本身就是乙個物件 2.指標無需在定義時賦初值
int *p; //指向int型物件的指標
double *p1; //指向double型物件的指標
int ival = 42;
int *p = &ival // 指標p中存放ival物件的位址
1.指向乙個物件
2.指向緊鄰物件所佔空間的下乙個位置
3.空指標,意味著指標沒有指向任何物件
4.無效指標,也就是上述情況之外的其他值
int ival = 42;
int *p = &ival;
cout << *p //使用解引用符訪問物件,輸出ival的值,也就是42
*p = 0;
cout << *p //改變了p所指物件的值,輸出為0
指標的指標的記憶體空間中是所指指標的位址,所以對指標的指標第一次解引用後的值是所指指標指向的物件的位址,兩次解引用後就是所指物件的值
#includeusing namespace std;
int main()
雖然不準確,但這樣看起來更加直觀
#includeusing namespace std;
int main()
型別修飾符(*或&)並不作用於本次定義的的全域性變數
int *p, p1, p2;//p1是指向int型變數的指標,而p2、p3是int型變數
修飾符靠近型別名這種寫法往往只用於定義乙個變數,強調它的型別
int* p1; //建立了乙個指向int型物件的指標
double* p2;//建立了乙個指向int型物件的指標
指標初步學習 C
pointer 1 指向const物件的指標 c 強制要求指向const物件的指標也必須具有const特性 定義時不需要對其進行初始化。允許對其重新賦值,使其指向另乙個const物件,但不能通過它修改所指物件的值 2 把乙個const物件位址賦給乙個普通的,非const物件的位址會導致編譯錯誤,不能...
陣列和指標的初步學習
陣列 包含了同一型別的多個資料元素的集合 eg int a 5 表明定義了乙個陣列,其包含5個int型的資料 指標 在程式中宣告乙個變數並使用位址作為該變數的值,那麼這個變數就是指標變數 eg int p 變數p是指向int型變數的指標 陣列的概念 int arr 5 表示定義了乙個int型陣列,其...
關於指標 初步)
基礎知識 1.定義 指標是乙個變數。指向位址 eg int ptr 定義乙個指向整型的指標,當然也可以是char型。2.間接運算子 解引用運算子 一元運算子 進行取位址 eg int ptr 定義乙個整型指標變數 int n 10 定義乙個整型 ptr n 將ptr指向n 此時 ptr 10 間接運...