c語言之陣列
一,一維陣列
1,一維陣列的定義:
型別符 陣列名[常量表示式]
注:1)常量表示式中可以包括常量和符號常量.int a[3+5]是合法的,int a[n]是不合法的,c語言不允許對陣列的大小作動態定義
2)如果在被呼叫的函式(不包括主函式)中定義陣列,起長度可以是變數或非常量表示式,可稱為「可變長陣列」
3)如果指定陣列static(靜態)儲存方式,則不能用「可變長陣列」
2,一維陣列的引用
1)陣列名[下標]
2)指標
3,一維陣列的初始化
1)在定義陣列的時候就對其賦初值
int a[10] =
2)對陣列中的部分元素賦值
int a[10] =
那麼,剩餘的五個元素為預設值0
注:a,如果對陣列中的所有元素都賦值為0
int a[10] =
可以使用int a[10] = 進行代替
b,如果對陣列的全部元素賦值,那麼元素的個數是固定的,可以不指定陣列的長度
int a[5] = 可以使用int a = 進行代替
二,二維陣列
1,二維陣列的定義
型別說明符 陣列名[常量表示式][常量表示式]
注:1)二維陣列可以看成乙個特殊的一維陣列
例如 int a[3][4],a[0],a[1],a[2]看作是3個一維陣列的名字
2)二維陣列是按行進行存放的
2,二維陣列的引用
1)陣列名[下標][下標]
2)指標
3,二維陣列的初始化
1)分行給所有的二維陣列元素進行賦值
int a[3][4] = ,,}
2)將所有的資料寫在乙個打括號內,按陣列元素在記憶體中的排列順序對各元素賦值
int a[3][4] =
3)對部分元素進行賦值
int a[3][4] = ,,}
其餘的元素值都是0
注:也可以對部分行進行賦值
int a[3][4] = ,}
int a[3][4] = ,{},}
4)可以對二維陣列全部賦值或者部分賦值時,省略第一維的長度
int a[3][4] =
int a[ ][4] =
int a[ ][4] = ,{},}
三,字元陣列
在c99標準中,把字元型別歸納為整型型別中的一種
c語言中是沒有字串型別的,字串是存放在字元型陣列中的
1,如何定義字元陣列?方法與定義整形陣列是一樣的
char c[10];
c[0] = 'i';
c[1] = ' ';
c[2] = 'a';
.....
c[9] = 'y';
2,字元陣列的初始化
char c[10] =
四,字串的輸入輸出
1,%c逐個字元輸入輸出
2,將整個字串一次輸入或輸出 %s
五,字串處理函式
1,puts函式----字串輸出函式
char str =
在輸出時將字串結束標誌'\0'轉換成'\n',即輸出完字串後換行
2,gets函式----輸入字串函式
gets(str);
從鍵盤輸入:
computer
將computer送給字元陣列str,注:送給陣列的共有9個字元,而不是8個字元
3,strcat函式----字串連線函式
strcat(字元陣列1,字元陣列2)
把連線的結果放在了第乙個字元陣列中
4,strcpy和strncpy函式----字串複製函式
char str1[10],str2="china";
strcpy(str1,str2);
strncpy(str1,str2,2);將str2的前兩個字元複製到str1的前兩個字元中
注:c中,字串不支援直接賦值,例如
str1="china";
str2 = str1;這種賦值方式是錯誤的
5,strcmp函式----字串比較函式
6,strlen函式----字串長度函式(字串的實際長度)
7,strlwr函式----轉換為小寫的函式
8,strupr函式----轉換為大寫的函式
在使用上面的函式時候,需要加入標頭檔案#include
C語言之陣列
c語言陣列 一 陣列的概念 用來儲存一組資料的構造資料型別 特點 只能存放一種型別的資料,如全部是int型或者全部是char型,陣列裡的資料成為元素。二 陣列的定義 格式 型別 陣列名 元素個數 舉例 儲存5個人的年齡 int agrs 5 在記憶體中開闢4x5 20個位元組的儲存空間 可以在定義陣...
C語言之陣列
一 一維陣列 1.1 一維陣列的定義 1.一維陣列是指數組中的每個元素只帶有乙個下標的陣列。定義方式為 型別說明符 陣列名 常量表示式 1.2 一維陣列元素的引用 1.陣列元素的引用形式為 陣列名 下標表示式 2.乙個陣列元素實質上市乙個變數名,代表記憶體中的乙個儲存單元,乙個陣列佔據的是一連串連續...
C語言之陣列
1,定義 intarray m array的型別為 int m 2,初始化 3,訪問 1 陣列名作為整體進行訪問 2 陣列名作為成員進行訪問 int array 10 array 2 array 2 2 array 三者等價 4,返回堆中一維資料 1 返回值返回 一級指標 char allocmem...