基礎 C 的指標系統

2021-10-06 03:24:34 字數 1872 閱讀 4104

指標的作用: 可以通過指標間接訪問記憶體

記憶體編號是從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 實際上,...