C 重點知識總結 陣列

2021-08-26 23:35:43 字數 2591 閱讀 5000

記憶體分割槽

堆:手動分配釋放,malloc,new來分配,free,delete來釋放

棧:編譯器自動分配釋放,存放函式的引數值、區域性變數的值等

全域性(靜態)儲存區:存放全域性變數和靜態變數,包括data段(全域性初始化區,存放初始化的全部變數和靜態變數)與bss段(全域性未初始化區,在程式執行之前bss段會自動清0),程式結束後由系統釋放

文字常量區:常量字串,程式結束後由系統釋放

程式**區:存放函式體的二進位制**

陣列:

一維陣列:

1、一維陣列宣告:值的型別(不能使引用)、陣列名和元素數(用值大於1的常量表示式定義)

int& a[10];//錯誤,沒有引用陣列

int a[6] = ;

int (&p)[6] = a;//p是陣列a的引用

2、陣列元素初始化時,若沒有顯式提供元素初值,則元素會被像普通變數一樣初始化:

1)函式體外定義的內建型別陣列,元素初始化為0;

2)函式體內定義的內建型別陣列,元素無初始化(若只初始化部分元素,其後的元素此時也會被初始化為0);

3)如果不是內建型別,則不管其在哪定義,自動呼叫其預設建構函式為其初始化,若該類無缺省建構函式則會報錯。

3、陣列大小未知時,需要動態宣告一維陣列:

int* a = new

int[2];

deletea;//陣列使用完畢時要釋放記憶體空間

4、c風格字串:末尾必須有乙個字元』\0』

1)字串常量,以雙引號括起,編譯器自動在末尾新增乙個空字元

2)末尾新增了』\0』的字元陣列

5、字元陣列:既可以用一組由括號括起來、逗號隔開的字元常量進行初始化,也可以用乙個常量字串(末尾有空字元)進行初始化

注意:在使用處理c風格字串的標準庫函式時,牢記引數必須以結束符null結束;

二維陣列:

6、c++規定,在宣告和初始化乙個二維陣列時,如果對二維陣列的所有元素都賦值,則第一維(行數)可以省略;

7、在c/c++中,二維陣列按照行優先順序連續儲存,即先將第一行按順序儲存,再對第二行順序儲存;

8、乙個二維陣列元素a[x][y]在一維陣列b中,是a[x][y]=b[x*列數+y];

9、二維陣列的動態宣告:

產生乙個二維陣列a[m][n]

int m = 5,n=3;

int **a = new

int* [m];

for (int i = 0; i < m; i++)

只能用a[i][j]或者((a+i)+j)來訪問陣列的元素;

動態宣告的陣列,使用後需要釋放記憶體:

for (i= 0; i

< m; ++i)

delete a;

陣列指標和指標陣列陣列名的指標操作

10、指標加上乙個整數的結果是另乙個指標,當乙個指標和乙個整數量進行算術運算時,這個整數量會根據指標的型別進行適當調整(3+float型的指標,結果是+3*4(4是float型別的大小))

11、c的指標的算術運算

1)指標+/-整數,用於指向陣列中某個元素的指標,對乙個指標加1使它指向陣列中的下乙個元素

2)指標-指標,只有當兩個指標都指向同乙個陣列中的元素時,才允許從乙個指標減去另乙個指標,減去運算的值是兩個指標在記憶體中的距離(無視陣列型別,相隔幾個元素即為幾)

12、指標陣列:元素為指標的陣列

陣列指標:乙個指向陣列的指標

int *a

[10];//指標陣列

int(*p)

[10];//陣列指標

二維陣列的陣列名是乙個陣列指標

13、在表示式中使用陣列名時,該名字會自動轉換為指向陣列首元素的指標

14、陣列的首位址是常量,不可以進行賦值操作

15、當陣列作為函式實參傳遞時,傳遞給函式的陣列首元素的位址,而將陣列某乙個元素的位址當作實參時,傳遞的是此元素的位址,也就是子陣列(以此元素作為首元素的子陣列)首元素的位址;

16、

int a[4][5];

&a; //int(*)[4][5]

a + i; //int(*)[5]

*(a + i); //int*

*(*(a + i) + j); //int

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

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

17、順序表可以進行隨機訪問,插入演算法、按值查詢演算法和刪除演算法的平均時間複雜度都為o(n),按位址、序號查詢演算法的平均時間複雜度為o(1)

18、cout輸出時遇到』\0』時就不再輸出

前端重點知識總結

文件頭標籤 其他常用重點標籤 imga table li顏色 css定位 position 思維 檔格式 常用宣告 html5 html 4.01 xhtml 1.0 標籤含義 title 元素可定義文件的標題。lang 規定元素中內容的語言 head 標籤用於定義文件的頭部,它是所有頭部元素的容器...

cat重點知識

cat option file b 對空行不編號 n 對所有的進行編號 s 去掉重複的空行,只保留一行 e 在每行結尾顯示乙個 t 把文件中的tab鍵 顯示 行 i v 沒用。只正常顯示ascii以內的字元,其他字元進行編碼 m h b,number nonblank number nonempty...

重點知識 jQuery

查詢dom元素節點物件,並將dom元素節點物件封裝為乙個jquery物件 將dom元素節點物件封裝為jquery物件 直接將html結構封裝為乙個jquery物件 選擇器 css 樣式名 屬性值 選擇器 css 選擇器 css 樣式名 單個類樣式 selector addclass class 多個...