指標
1. 指標的作用
- 使程式簡潔、緊湊、高效
- 有效地表示覆雜的資料結構
- 動態分配記憶體
- 能直接訪問硬體
- 能夠方便的處理字串
- 得到多於一個的函式返回值
2. 指標和指標變數
指標初始化
int main() {
int a = 10;
int * p = &a; // p 是指標變數,p 的內容為 a的地址
printf("&a=%p p=%p &p=%p\n", &a, p, &p);
return 0;
}
3. 指標的目標和解引用
指標指向的記憶體區域中的資料稱為指標的目標
如何透過指標修改指標的目標呢?===> 指標的解引用
int main() {
int a = 10;
int * p = &a;
(*p)++; // 間接地去訪問了指標的目標
cout << a << endl; // 11
return 0;
}
關於指標的3種寫法:
4. 指標的賦值
0是有效的地址(最小的)
指標的賦值
陣列名代表了整個陣列的起始地址(也就是a[0]的地址)
int main() {
int a[] = {1, 2, 3};
int * p;
printf("%p %p\n", a, &a[0]);
return 0;
}