int m[2][2] = {{0, 17}, {21, 0}};
float n[3] = {109.5, -8.29, 0.7};
m[0][0] = 0; m[0][1] = 17;
m[1][0] = 21; m[1][1] = 0;
char s[30];
s = "Good News!"; // 錯誤:數組名不可作左值
char s[30];
strcpy(s, "Good News!"); // 複製含 \0,需預留 1 字節
strcpy(s, "The writer would like to thank you for"
"your interest in his book. He hopes you"
"can get some helps from the book.");
char *f[2];
int *a[2];
f[0] = "thank you";
f[1] = "Good Morning";
*a[0] = 1; // 需先分配內存或指向有效地址
*a[1] = -11; // 否則野指針解引用 → 崩潰
strcpy 複製內容;指針數組:直接賦值地址int 變量| 類型 | 存儲內容 | 賦值操作 | 修改影響 |
|---|---|---|---|
| 字符數組 | 字符副本 | strcpy 複製 | 獨立,互不影響 |
| 字符指針數組 | 字符串地址 | 直接賦值指針 | 共享指向內容,修改需謹慎 |
區分「數組存內容」與「指針存地址」是正確使用 C 語言字符串與指針數組的關鍵。