指標的作用: 可以通過指標間接訪問記憶體
記憶體編號是從0開始記錄的,一般用十六進製制數字表示
可以利用指標變數儲存位址
指標變數定義語法: 資料型別 * 變數名;
示例:
int
main()
指標變數和普通變數的區別
總結3:對指標變數解引用,可以操作指標指向的記憶體
提問:指標也是種資料型別,那麼這種資料型別占用多少記憶體空間?
示例:
int
main()
總結:所有指標型別在32位作業系統下是4個位元組
空指標:指標變數指向記憶體中編號為0的空間
**用途:**初始化指標變數
**注意:**空指標指向的記憶體是不可以訪問的
示例1:空指標
int
main()
野指標:指標變數指向非法的記憶體空間
int
main()
總結:空指標和野指標都不是我們申請的空間,因此不要訪問。
const修飾指標有三種情況
const修飾指標 — 常量指標
const修飾常量 — 指標常量
const即修飾指標,又修飾常量
示例:
```cpp
intmain()
int
main()
;int
* p = arr;
//指向陣列的指標
cout <<
"第乙個元素: "
<< arr[0]
<< endl;
cout <<
"指標訪問第乙個元素: "
<<
*p << endl;
for(
int i =
0; i <
10; i++
)system
("pause");
return0;
}
**作用:**利用指標作函式引數,可以修改實參的值
示例:
//值傳遞
void
swap1
(int a ,
int b)
//位址傳遞
void
swap2
(int
* p1,
int*p2)
intmain()
**案例描述:**封裝乙個函式,利用氣泡排序,實現對整型陣列的公升序排序
例如陣列:int arr[10] = ;
示例:
//氣泡排序函式
void
bubblesort
(int
* arr,
int len)
//int * arr 也可以寫為int arr}}
}//列印陣列函式
void
printarray
(int arr,
int len)
}int
main()
;int len =
sizeof
(arr)
/sizeof
(int);
bubblesort
(arr, len)
;printarray
(arr, len)
;system
("pause");
return0;
}
總結:當陣列名傳入到函式作為引數時,被退化為指向首元素的指標 c指標基礎
1.和 為互逆操作 2.100 25,這樣的操作是非法的,因為字面值100是整形,而間接訪問操作只能作用域指標型別.如果一定要這樣操作 int 100 25,強制轉換之後才合法.3.和 為同級運算子,和 都是從右向左結合,a 這樣的操作,會先拷貝出a在對a進行 1,然後對拷貝出來的a進行 操作.p是...
C指標(基礎)
指標的定義 在科學計算中,指標 pointer 是程式語言的乙個物件,利用位址,它的值直接指向 points to 存在電腦 儲存器中另乙個地方的值。由於通過位址能找到所需的變數單元,可以說,位址指向該變數單元。因此,將位址形象化的成為 指標 意思是通過它能找到以它為位址的記憶體單元。簡言之,指標就...
this指標基礎 C )
1.每個成員函式中都包含乙個特殊的指標,這個指標的名字是固定的,成為this指標。它是指向類物件的指標,它的值是當前被呼叫的成員函式所在的物件的起始位址。通常情況下,this指標是隱式使用,作為引數被傳遞給成員函式的。例如,box類的乙個成員函式 定義是這樣的 int box volume 實際上,...