陣列知識點總結

2021-09-05 09:23:44 字數 1264 閱讀 1876

一、 知識點總結

一維陣列:

直接賦值:a[10]=;

不賦初值:隨機值或0

全賦同一初值:a[10] = ; //或者更推薦用memset函式memset函式:memset(陣列名,值,sizeof(陣列名));//如:memset(a , 0 , sizeof(a))

二維陣列:

(int a[5][6] )直接賦值:a[5][6] = ,{},{},{},{},{}};

如果陣列大小較大(10^6)需將其定義在主函式main()外面,原因是函式內部申請的區域性變數來自系統棧,允許申請的空間較小;而全域性變數來自靜態儲存區,允許申請的空間較大。

字元陣列:

二維陣列動態建立

根據輸入的行row與列col,動態建立二維陣列。

// 建立乙個m*n的整型陣列

int ** num = null;

num = new int *[m];

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

num[i] = new int [n];

常見錯誤:通常使用動態建立的時候是一維宣告時,因而在非宣告語句時的等號左值容易出錯(好吧,我出錯了》.<)如:**num = new int *[m],*num = new int [m]等等不勝列舉。記憶訣竅可以是第一次動態分配時,等號左側為原來的變數名,不加任何或;等號右側為減少乙個指標符,以此類推。

動態字串的初始化問題

同樣是解替換字串的問題時遇見的,動態生成字串時的初始化問題。我沒有找到相應的庫函式,而是改變思路,將初始化時申請的字串空間擴大一位,在操作之後末尾位賦值。

// outlen 為輸出字串的長度

output = new char [outlen+1];

output[outlen] = 0;

加上字串尾,輸出正常。

二、 應用及其可以解決的問題

1; 密碼學、矩陣的變換、生物研究(細菌的繁殖)、掃雷遊戲的計算雷數、做遊戲、工程設計、數字的提取。

2; 字串的輸入輸出、字元的提取、字串的判斷、數字的排序。

三、 感想

1, 通過陣列的學習使我更加了解了迴圈的應用,以及陣列的定義的重要性,還有可以解決的問題。

2, 在這一期的oj中,後面的題也是真的難,每一題都得想上好久,但是經過不懈的努力,總是會有成果的,雖然改了好幾次,交了好幾次,但是還是ac了。這個過**的很爽,做出來之後的成功感也是賊爽。

3, 在後面的學習中,我會繼續保持這種狀態,努力的克服所遇到的困難,做好充足的自學,以**充實自己,加油!!!

陣列知識點

陣列就是按順序排列的一組同種型別的變數構成的集合 佔一片連續的儲存單元 陣列元素 下標變數 本質是變數。一 一維陣列 1.格式 陣列名 常量表示式 2.初始化 陣列定義後的初值仍然是隨機數 如 int a 5 int a 10 該方法僅對陣列的前五個元素依次進行初始化,其餘值為0。int a 5 表...

陣列知識點

1.通過以下 塊,看出普通陣列與引用型別陣列區別 public class test01 for int i 0 i user arr02 newuser 3 引用型別的陣列 arr02 0 new user 1 肖杰航 arr02 1 new user 2 小傑航 arr02 2 new user...

陣列知識點

陣列就是乙個容器,用於存放一系列相同的資料型別 乙個變數名存放多個資料 1 宣告陣列 int a 兩種方式 int a1 int a2 2 分配空間 a new int 5 3 賦值 a 0 8 4 處理資料 3 擴充套件點 增強的for迴圈 input.next 與 input.nextline ...