C 基礎語法入門 7 指標

2021-10-18 19:38:02 字數 3280 閱讀 6298

黑馬程式設計師匠心之作|c++教程從0到1入門程式設計

學習筆記

目標:對c++有初步了解,能夠有基礎程式設計能力

案例:通訊錄管理系統

指標定義的語法:資料型別 * 指標變數名

定義指標

使用指標

可以通過解引用的方式來找到指標指向的記憶體

指標前加*代表解引用,找到指標指向的記憶體中的資料

示例:

#include

using

namespace std;

intmain()

輸出:

指標p為:0115f74c

a=1000

*p=1000

指標也是一直資料型別。

在32位作業系統下,占用4個位元組空間;

在64位作業系統下,占用8個位元組空間。

int

*p;p =

&a;

等價於

int

*p =

&a;

cout <<

"sizeof(int *) = "

<<

sizeof

(int*)

或者

cout <<

"sizeof(p)="

<<

sizeof

(p)

flaot ,double,char都是4個位元組,在32位下面指標都是4個位元組。

執行為x86是32位作業系統,執行位x64是64位作業系統。

空指標:指標變數指向記憶體中編號為0的空間

作用:初始化指標變數

注意:空指標指向的記憶體量是不可以訪問的

示例:

#include

using

namespace std;

intmain()

野指標:指標變數指向非法的記憶體空間

//野指標

//在程式中要避免

int*p =

(int*)

0x1100

;//讀取訪問衝突

總結:空指標和野指標都不是我們申請的空間,因此不要去訪問它。

三種情況:

const 修飾指標–常量指標

特點:指標的指向可以修改,但是指標指向的值不可以改

const

int*p =

&a;

示例

*p =20;

//錯誤,指標指向的值不可以改

p=

&b;//正確,指標的指向可以改

const 修飾常量 --指標常量

特點:指標的指向不可以修改,但是指標指向的值可以改

int

*const p =

&a;

示例

*p =20;

//正確,指標指向的值可以改

p=

&b;//錯誤,指標的指向執行不可以改

const 既修飾指標,又修飾常量

特點:指標的指向不可以修改,指標指向的值也不可以改

const

int*

const p =

&a;

示例

*p =20;

//錯誤,指標指向的值不可以改

p=

&b;//錯誤,指標的指向執行不可以改

作用:利用指標訪問陣列中元素

示例:

#include

using

namespace std;

intmain()

;int

*p = arr;

//arr是陣列的首位址

cout <<

"利用指標訪問第乙個元素"

<<

*p << endl;

p++;//讓指標向後偏移4個位元組

cout <<

"利用指標訪問第二個元素:"

<<

*p << endl;

cout <<

"利用指標遍歷陣列:"

<< endl;

int*p2 = arr;

for(

int i =

0; i <

10; i++

)system

("pause");

return0;

}

輸出

利用指標訪問第乙個元素1

利用指標訪問第二個元素:2

利用指標遍歷陣列:12

3456

78910

#include

using

namespace std;

void

swap02

(int

*p1,

int*p2)

intmain()

輸出:

a=20

b=10

案例描述:封裝乙個函式,利用氣泡排序,實現對整型陣列進行公升序排序

示例:

#include

using

namespace std;

void

bubblesort

(int

* arr,

int len )}}

}//列印陣列

void

printarray

(int

*arr,

int len)

}int

main()

;int len =

sizeof

(arr)

/sizeof

(arr[0]

);bubblesort

(arr,len)

;printarray

(arr, len)

;system

("pause");

return0;

}

C 基礎入門 07指標

指標的作用 可以通過指標間接訪問記憶體 指標變數定義語法 資料型別 變數名 示例 int main 指標變數和普通變數的區別 總結3 對指標變數解引用,可以操作指標指向的記憶體 提問 指標也是種資料型別,那麼這種資料型別占用多少記憶體空間?示例 int main 總結 所有指標型別在32位作業系統下...

C 基礎入門 6 指標

指標變數定義語法 資料型別 變數名 int main 輸出 指標p為 00befb04 a 1000 p 1000 int main 空指標 指標變數指向記憶體中編號為0的空間 用途 初始化指標變數 注意 空指標指向的記憶體是不可以訪問的 空指標 int p null 野指標 指標變數指向非法的記憶...

零基礎入門C 7 指標

指標的作用 可以通過指標間接訪問記憶體 指標變數定義語法 資料型別 變數名 示例 指標變數和普通變數的區別 提問 指標也是種資料型別,那麼這種資料型別占用多少記憶體空間?示例 總結 所有指標型別在32位作業系統下是4個位元組 空指標 指標變數指向記憶體中編號為0的空間 用途 初始化指標變數 注意 空...