一、 知識點總結
一維陣列:
直接賦值: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 ...