首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言數組賦值完全指南:數值、字符串、指針數組

     編輯:關於C語言

數值數組賦值

靜態初始化

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!"; // 錯誤:數組名不可作左值

✅ 正確方式:strcpy

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; // 否則野指針解引用 → 崩潰

關鍵注意點

  1. 字符數組:strcpy 複製內容;指針數組:直接賦值地址
  2. 字符數組大小 ≥ 字符串長度 + 1(\0)
  3. 指針數組元素指向字符串常量(只讀)或動態分配內存
  4. 指針數組指向整型時,必須確保指針指向有效 int 變量

內存模型對比

類型存儲內容賦值操作修改影響
字符數組字符副本strcpy 複製獨立,互不影響
字符指針數組字符串地址直接賦值指針共享指向內容,修改需謹慎

區分「數組存內容」與「指針存地址」是正確使用 C 語言字符串與指針數組的關鍵。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved