2021-01-24//指標
阿新 • • 發佈:2021-01-25
題外話:懂了懂了 大家週末都在偷偷學習呢~
指標
指標就是一個地址
p是int *資料型別
- 指標的定義以及使用
//1.指標的定義
int a=10;
//資料型別 * 變數名
int * p;
//指標變數賦值
p=&a;
//2.指標的使用
//*操作 解引用 ;*操作 指標變數指向的記憶體
cout<<"*p="<<*p<<endl;
- 指標所佔用的記憶體空間
規定:在32位作業系統下,指標佔用的是4位元組記憶體;64位下,佔用8個位元組空間
//3.指標所佔用的記憶體空間
int b=10;
int * t=&b;
cout<<sizeof(int *)<<endl;
cout<<sizeof(double *)<<endl;
cout<<sizeof(float *)<<endl;
//64位 結果都為8
- 空指標和野指標
空指標
定義:指標變數指向記憶體中編號為0的空間
用途:初始化指標變數
注意:空指標指向的記憶體是不可以訪問的
野指標
定義:指標變數指向非法的記憶體空間
//4.空指標
//初始化 新設一指標,不知道指哪 指向NULL
int * r=NULL;
//空指標不可以進行訪問 0-255之間的記憶體編號是系統佔用的 不可訪問
//cout *p出錯
//5.野指標
// int * w=(int *)0x1100;//指標指向一段記憶體空間,我也不知這記憶體空間是什麼
// cout <<*w<<endl;
//崩了!!
- const修飾指標
//6.const修飾指標 //6.1 const修飾指標 //6.1 常量指標 指標的指向可以修改;指標指向的值不可以修改 const int * p=&a; // 錯誤 *p=20;指標指向的值不可以修改 p=&b; //6.2 指標常量 指標的指向不可以改;指標指向的值不可以改 int * const p=&a; *p=20; // 錯誤 p=&b; //6.3 指標的指向和指標指向的值都不可以修改 const int * const p=&a; //錯誤 *p=20; // 錯誤 p=&b;