指標學習總結

2021-09-29 11:52:32 字數 1605 閱讀 8078

資料在記憶體中用二進位制表示

記憶體條中包含了上億個電子元器件,這些元器件就是電路

電路的電壓會變化,要麼是0v,要麼是5v,只有這兩種電壓。

乙個元器件只有2種狀態,5v是通電,用1表示;0v時是斷電,用0表示

一般我們將8個元器件稱為乙個單位。

乙個元器件稱為乙個位元(bit)或1位(1bit只能存放0或1)

八個元器件稱為1位元組(byte)

10248個元器件就是1024個位元組,稱為1kb

102410248個元器件就是1024kb,稱為1mb

1024102410248個元器件就是1024gb,稱為1gb

int型:4個位元組

double型:8個位元組

float型:4個位元組

char型:1個位元組

1.**區—存放**

2.全域性區(靜態區)(static)—,全域性變數和靜態變數的儲存是放在一塊的,初始化的全域性變數和靜態變數在一塊區域, 未初始化的全域性變數和未初始化的靜態變數在相鄰的另一塊區域。 - 程式結束後由系統釋放。

3.棧區(stack)----系統自己開闢,系統自己釋放, 由編譯器自動分配釋放 ,存放函式的引數值,區域性變數的值等

4.堆區:動態開闢的記憶體,手動開闢,手動釋放

把記憶體以單個位元組為單位分開,每乙個位元組編號,這就是位址

取位址運算子&

一段記憶體空間中第乙個儲存單元的位址

1.一維陣列

aint a

a是指向a[0]這個一維陣列

2.二維陣列

a指向的是a[0]這個一維陣列

a[0]指向的是a[0][0]這個元素

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

指標變數的賦值:int a; intp=&a;

注:在定義指標變數時,intp只是表示p是乙個指標變數

非定義時,*為取值運算子,即對p所指向的記憶體值取值

等於指標的偏移,以指標所指向的型別的空間單位進行偏移

char *p;p+1; 加乙個位元組

int p1;p1+1; 加4個位元組

doublep2;p2+1; 加8個位元組

int a[5];

int *p=a;(a=&a[0])

1.給指標元素賦值

a[3]=10;

*(a+3)=10;

或int * p=a+3; *p=10

2.陣列的遍歷

int a[4]=;

for(i=0;i<4;i++)

2.for(int * p=a;p

二維陣列可以分為多個一維陣列

[ ]是變址運算子= *( + )

b[j]= * (b+j)

a[i][j]= * (a[i]+j)= *( *(a+i)+j)

在無法確定其大小的時候,用陣列很難解決時用動態陣列

C語言指標學習總結

一 概念 二 舉例說明 首先是指標的定義 int p p是乙個整型變數。int p p是乙個指標變數,指向整型變數。int p p是乙個陣列,陣列裡儲存的是指向整型變數的指標 int p p是乙個指標,指向整型陣列的首位址。int p p是乙個函式,返回值是整型指標 int p p是乙個指標,指向乙...

c語言指標學習總結

在指標 int p或char p,中 p是內容,p是指標,呼叫 p 時候類似間接定址 先看個簡單 指標實驗 在linux上gcc編譯執行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...

C語言指標學習總結

上學的時候學習c語言,最煩的就是裡面指標,可是指標也恰恰是c語言的靈魂。最近在重溫資料結構的內容,因為大多資料結構的教材都是用c語言描述的,而資料結構中也大量的用到了指標的內容,所以我就在這篇筆記中記錄一下我這週複習c語言的心得。先看看百科上對指標的描述。在電腦科學中,指標 pointer 是程式語...