指標所佔的記憶體空間
空指標和野指標
const修飾指標
指標和陣列
指標和函式
指標配合函式和陣列綜合案例
記憶體的編號是從0開始的,一般用十六進製制數字表示,我們可以利用指標變數來儲存記憶體的位址
語法:資料型別 * 指標變數名 ;
例1:
#include using namespace std;
int main()
例1:
#include using namespace std;
int main()
例2:
#include using namespace std;
int main()
例1:
#include using namespace std;
int main()
空指標是指標變數指向的記憶體編號為0的空間,一般用於初始化指標變數,必須注意的是空指標指向的記憶體是不可訪問的
例1:
#include using namespace std;
int main()
執行例1**出現的空指標異常截圖:
野指標是指標變數指向了非法的記憶體空間
例1:
#include using namespace std;
int main()
例1執行結果報錯截圖:
const修飾指標有三種情況:
const修飾指標 常量指標
const修飾常量 指標常量
const既修飾指標,又修飾常量
常量指標:指標變數的指向可以修改,但是指標變數指向的值不能修改==
語法:const 資料型別 * 指標變數名; // 常量指標
例1:
#include using namespace std;
int main()
指標常量:指標變數的指向不能修改,但是指標變數指向的值可以修改
語法:資料型別 * const 指標變數名 ; // 指標常量
例1:
#include using namespace std;
int main()
指標指向的和指標指向的值都不能更改
語法:const 資料型別 * const 指標變數名 ;
例1:
#include using namespace std;
int main()
利用指標訪問陣列中的元素。
例1:
#include using namespace std;
int main() ;
int* p = arr; // 將陣列arr的位址賦值給指標變數p
cout << "正常使用for迴圈取出所有的值:" << endl;
for (int i = 0; i < (sizeof(arr) / sizeof(arr[0])); i++)
cout << "利用指標取出所有的值:" << endl;
for (int i = 0; i < (sizeof(arr) / sizeof(arr[0])); i++) // sizeof(arr) / sizeof(arr[0])計算出陣列長度
system("pause");
return 0;
}
利用指標做函式引數,可以修改實參的值
例1:在前面我們建立過乙個函式,交換兩個變數的值,在函式內部形參進行了交換,而在函式外部的實參沒有任何改變,利用指標作為形參,可以改變實參的值
#include using namespace std;
void swap01(int num1, int num2)
void swap02(int* num1, int* num2)
int main()
例1:
#include using namespace std;
void bubblesort(int* arr, int len) // 定義氣泡排序函式
} }}void printarr(int* arr, int len) // 定義陣列列印函式
}int main() ;
int len = sizeof(arr) / sizeof(arr[0]); // 獲取陣列的長度
cout << "氣泡排序前:" << endl;
printarr(arr, len); // 列印排序前的陣列
bubblesort(arr, len); // 進行氣泡排序
cout << "氣泡排序後:" << endl;
printarr(arr, len); // 列印排序前的陣列
system("pause");
return 0;
}
C 之指標學習
指標本身就是乙個物件,允許對指標賦值和拷貝,而且在指標的生命週期內它可以指向幾個不同的物件 指標無須在定義時賦初值。和其他內建型別一樣,在塊作用域內定義的指標如果沒有初始化,也將擁有乙個不確定的值。include using namespace std intmain here are the va...
C 學習筆記之 this指標
目錄this指標指向被呼叫的成員函式所屬的物件 include include using namespace std class person int main 0x61fe8c 1 0x61fe88 2 include include using namespace std class pers...
C 學習 物件模型之 this指標
在 c 中,每乙個物件都能通過this指標來訪問自己的位址。this指標是所有成員函式的隱含引數。因此,在成員函式內部,它可以用來指向呼叫物件。this指標針對物件。對於非成員函式,靜態函式和友元函式不能使用this指標,因為他們指標所有物件。this指標只針對某乙個物件。多繼承和多型的this指標...