C語言學習 day12

2021-10-04 01:44:12 字數 1822 閱讀 7760

一、專題學習之陣列

(一)陣列的基本概念

1、陣列是一組有序資料的集合,下表代表資料在陣列中的編號;

2、用乙個陣列名(如s)和下標(如15)來唯一確定陣列中的元素;

3、陣列中的每乙個元素都屬於同乙個資料型別。

注:不能把不同的資料型別的資料放在同一陣列中,如:學生的成績和姓名。把陣列與迴圈結合起來可以有效的處理大批資料。

(二)一維陣列的定義和引用

1、定義:有哪些資料組成陣列,陣列中有多少元素,屬於那種資料型別。

注:①陣列名的命名規則和變數名相同;

②陣列的方括號中使用常量表示式,常量表示式中可以包括常量和符號常量,如「int a[3+5]是合法的,不能包含變數,如「int a[n]」非法。即c語言不允許對陣列的大小作動態的定義。

但當被呼叫的函式(非主函式)中定義的陣列長度可以是變數或非常量表示式,這時int a[2*n];合法,n的值從實參傳來。但定義前加了static表示靜態而變為非法;

③陣列均是從下標為0開始賦值。

2、陣列的初始化:在定義陣列的同時進行賦值

①如果只賦值一部分,則餘下的部分預設系統賦值為0,字元型則為』\0』,指標型為null;

②如果想全部賦值為0可以為:a[10]=;

③如果賦全值則[ ]中可不用填寫長度,如:a=;長度預設為3;

(三)多維陣列

1、二維陣列的定義:型別說明符 陣列名[常量表示式][常量表示式];例如:float a[3][4],b[2][3];

注:用矩陣形式表示二維陣列,是邏輯上的概念,實際在記憶體中,各元素是連續存放的,是線性的。

2、三維陣列的定義,例如:float a[2][3][4]; //定義三維陣列a,它有2頁,3行,4列

3、二維陣列的引用:陣列名[下標][下標];

①陣列元素可以出現在表示式中:b[1][2]=a[1][2]/2;

②陣列的使用和二維陣列一樣,均從0開始。

4、二維陣列的初始化:

①分行進行賦值。例如:

int a[3][4]=,,};

②按陣列元素在記憶體中的排列順序對各元素賦初值,例如:

int a[3][4]=;

③對部分元素賦初值,例如:

int a[3][4]=,,};

其餘元素值自動為0。

④對各行中的某一元素賦初值,例如:

int a[3][4]=,,};

⑤對某幾行元素賦值,例如:

int a[3][4]=,};

int a[3][4]=,{},};

⑥如果對全部元素都賦初值,則定義陣列時對第1維的長度可以不指定,但第2維的長度不能省。例如 :

int a[4]=;

定義時也可以只對部分元素賦初值而省略第1維的長度,但應分行賦初值。例如:

int a[4]=,,};

(四)字元陣列

注:c語言中沒有字串型別,字串是存放在字元型陣列中的。

1、字元陣列的定義

用來存放字元資料的陣列是字元陣列,字元陣列中的乙個元素存放乙個字元。例如:

char c[10];

c[0]=』i』;c[1]=』 』;……;c[9]=』y』;

字元型資料是以整數形式(ascii)存放的,因此也可以用整型陣列存放字元資料,例如:

int c[10];

c[0]=』a』;

2、字元陣列的初始化

①「初始化列表」,把各個字元一次賦值給陣列中的各元素,例如:

char c[10]=;

②如果賦的初值個數大於陣列長度則會溢位,小於陣列長度其餘的元素自動定為空字元(『\0』),如果長度相同則可以省略陣列長度,系統自動根據初值個數確定陣列長度。

③字元陣列中的元素的引用

C 學習筆記day12 標準C語言

字串的輸入 char str 10 scanf s char 通過這樣的方式是可以從快取區中拿到字串。如果快取區內的字元長度比字元陣列的長度大,將會產生兩個問題 1 字串結尾的 0 字元會丟失 2 即使超出了字元陣列的範圍,還是會不斷的往這個字元陣列後面的記憶體繼續寫。這樣就會破壞掉記憶體中的其他資...

前端學習Day12

一 定位 1.position static absolute relative 2.position fixed 固定定位 a 參照物 瀏覽器視窗 b 不佔據空間,脫離布局流 3.讓乙個元素在瀏覽器視窗左右上下居中?第一種方法 前提 已知寬和高 position fixed left 50 top...

matlab cody學習筆記 day12

input n 5 output a is 3 3 3 3 3 3 2 2 2 3 3 2 1 2 3 3 2 2 2 3 3 3 3 3 3 如何生成乙個靶心矩陣。答 function a bullseye n a ceil sqrt spiral n 2 0.5 spiral n 命令生成n維從...