一、定義和數組類型
字元數組是由一系列字元組成的存儲區域。它是C/C++中最基本的數據類型之一,我們使用字元數組可以存儲字元串,也可以保存一串以字元方式表示的數據或者代碼。它的定義方式是使用關鍵詞char來定義,中間可以接一個數組名,也可以直接定義。
char arr1[] = "hello world!"; char arr2[8] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'};
數組在定義時可以使用「[]」來指定數組的長度,也可以通過初始化語句確定,不指定則系統會根據後面賦值的個數自動確定數組長度。
二、數組的初始化
數組的初始化是定義並賦值的一個過程,可以使用以下方式來初始化:
char arr[] = "hello world!"; char arr2[8] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'}; char arr3[10] = {0}; // 全部初始化為0
初始化後的數組元素可以通過下標訪問,如arr2[2]。在初始化過程中,如果元素個數少於數組長度,則剩餘元素自動設置為0,如果元素個數超過數組長度,則報錯。
三、數組的遍歷和修改
數組的元素可以通過循環來遍歷,數組的循環方式與其他的循環基本相同。
for(int i=0; i<8; i++){ arr2[i] = i+1; }
通過遍歷可以修改數組的值,符號「=」代表賦值操作,可以用來對數組元素進行修改。
四、數組參數的傳遞
在函數中,通過參數將數組傳遞到函數中,並在函數中對數組進行操作。
void func(char arr[], int len){ for(int i=0; i<len; i++){ printf("%c", arr[i]); } }
第一個參數是字元數組,第二個參數是數組長度,可以在函數中進行操作和輸出。需要注意的是,數組在函數調用時自動退化為指針,函數內無法獲取數組的長度。
五、指針和數組名
在C語言中,數組名和指針變數的作用是類似的。數組名是指向數組首元素的指針,也就是數組的地址。
char arr[] = "hello world!"; printf("%p\n", arr); // 輸出arr的地址 printf("%p\n", &arr[0]); // 輸出arr第一個元素的地址
數組名也可以進行指針運算,和指針變數的行為類似。
char arr[] = "hello world!"; char* p = arr; printf("%c\n", *p); // 輸出h p++; printf("%c\n", *p); // 輸出e
六、字元串操作函數
C語言提供了很多字元串操作函數,方便我們進行字元串的操作。
strcpy(dest, source); // 拷貝字元串 strcat(dest, source); // 連接字元串 strlen(str); // 獲取字元串長度 strcmp(str1, str2); // 比較字元串 strchr(str, ch); // 查找字元 strstr(str1, str2); // 查找字元串
原創文章,作者:DRQXL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/372690.html