1. 程式人生 > >如何給給字元陣列賦值

如何給給字元陣列賦值

要說C語言中最讓我覺得棘手的,就是字元陣列的,C語言中沒有字串這個型別,字串只能存放在字元型陣列中。

那麼,我們先來看看如何給一個一維陣列賦值:

1、定義的時候直接賦值:

char arr[10] = {"kitty"};

這種寫法也可以直接省略花括號,直接寫成:

char arr[10] = "kitty";

2、初始化列表,把各個字元依次賦給陣列中的元素:

char arr[10] = {'k','i','t','t','y'}

這種寫法是不可以省略花括號的。

3、利用字串處理函式
strcpy( str1, str2)可以將字串2的內容複製到字串1中。

char
arr[10]; strcpy(arr, "kitty");

利用字串處理函式對字串進行賦值,要注意(1)字元陣列1必須定義的足夠大,以便容納字串2;(2)需要包含標頭檔案string.h

對一維陣列進行賦值時需要注意的易錯情況:
情形一:

char arr[10];
arr[10] = "kitty";

陣列元素的下標是從序號0開始,arr[10]最大的下標值為9,況且arr[10]指的是下標為10的元素,一個字元是無法容納一個字串的。

情形二:

char arr[10];
arr = "kitty";

arr雖然是個指標,但是它已經指向了堆疊中的10個字元空間,無法指向”kitty“這個常量了。