如何給給字元陣列賦值
阿新 • • 發佈:2019-02-09
要說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“這個常量了。