C 學習 指標

2021-10-09 16:21:40 字數 1571 閱讀 9834

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

·記憶體編號是從0開始記錄的,一般用十六進製制數字表示

·可以利用指標變數儲存位址

語法:資料型別 * 變數名;// 習慣用p 來命名變數

讓指標變數記錄變數a的位址 :p = &a;

使用:可通過解引用的方式來找到指標指向的記憶體,指標前加 * 代表解引用, 找到指標指向記憶體中的資料

*p = 1000;

·在32位作業系統下占用4個位元組,64位下占用8個位元組

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

用途:初始化指標變數

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

int

main()

野指標:指標變數指向非法空間;

int * p = (int *)0x1100; //會報錯;(盡量避免)

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

const修飾指標的三種情況:

1,const修飾指標 —常量指標

const

int* p &a

特點:指標的的指向可以改,指標指向的值不能改;

2,const修飾常量 ----指標常量

int

*const p =

&a;特點: 指標指向不能改,指標指向的值可以改;

3,const即修飾指標,又修飾常量

const

int*

const p =

&a;特點:啥都不能改

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

int arr[10]

=;int* p = arr;

cout <<

"第乙個元素 "

<<

*p << endl;

p++; cout <<

"第二個元素 "

<<

*p << endl;

//值傳遞

void

swap1

(int a,

int b)

//位址傳遞

void

swap2

(int

* p1,

int* p2)

intmain()

}}}int

main()

;bubblesort

(arr,10)

;for

(int k =

0; k <

10; k++

)return0;

}

C學習 指標

1 指標 a int a 表示乙個記憶體空間,這個空間用來存放乙個整數 int b int a 表示乙個記憶體空間,這個空間用來存放乙個指標,這個指標指向乙個存放整數的空間,即 a 中提到的空間 c int a 表示乙個記憶體空間,這個空間用來存放乙個指標,這個指標指向乙個存放指標的空間,並且指向的...

C 指標學習

一 指標的概念 如果在程式中定義乙個變數,在編譯時系統會自動給這個變數分配記憶體單元,並根據程式中的定義的變數型別,分配一定長度的記憶體空間,這樣的記憶體單元裡放著變數的值。為了便於記憶體單元的訪問,系統為每乙個記憶體單元分配乙個位址。在變數的生存期內,不管以後對變數如何賦值,其記憶體位址都是固定不...

C 學習 指標

關於二級指標的學習遇到了一些困惑,也有了一些不知是否正確的結論。在文章中留個底以記錄學習過程。author 以下是一些暫時的結論 1.將每個變數名都理解成位址 2.注意區分堆與棧中的變數 3.表示取左值 根據位址跳轉 表示取位址 宣告時表示建立乙個引用 ex.char string aaa char...