1. 程式人生 > >C:char 陣列賦值

C:char 陣列賦值

定義一個數組char a[10];
怎麼給這個陣列賦值呢?

1. 定義的時候直接用字串賦值
char a[10]="hello";  正確
【注】:不能先定義再給它賦值,如char a[10]; a[10]="hello"; 這樣是錯誤的!
2. 對陣列中字元逐個賦值
char a[10]={'h','e','l','l','o'};
3. 利用strcpy
char a[10];

strcpy(a, "hello");

易錯情況:
1. char a[10]; a[10]="hello";//一個字元怎麼能容納一個字串?況且a[10]也是不存在的!
2. char a[10]; a="hello";//這種情況容易出現,a雖然是指標,但是它已經指向在堆疊中分配的10個字元空間,現在這個情況a又指向資料區中的hello常量,這裡的指標a出現混亂,不允許!