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

C語言快速入門(四):深入理解陣列與字串操作

     編輯:關於C語言

C語言快速入門(四):深入理解陣列與字串操作

經過前三篇文章的學習,相信大家已經對C語言有了基本認識。現在來看一個實際問題:如果要輸入五個學生的成績並計算總分與平均值,大多數初學者會定義五個變量。但如果學生數量變成20個、50個甚至更多,難道要繼續定義大量變量嗎?這顯然不現實。C語言提供了陣列機制,讓我們將相同類型的數據按順序存儲在一個集合中,並透過索引(下標)高效訪問。

本節學習重點

  • 一維陣列與二維陣列的定義、初始化與引用
  • 字串與字串陣列的區別與操作
  • 常用字串處理函數(strcpy、strcat、strcmp、strlen等)

一、一維陣列與二維陣列

一維與二維陣列示意圖

一維陣列適合存儲線性數據(如學生成績),二維陣列則常用於表格類數據(如矩陣、座標)。定義語法如下:

// 一維陣列
int scores[5] = {85, 90, 78, 92, 88};

// 二維陣列
int matrix[3][4] = {
  {1, 2, 3, 4},
  {5, 6, 7, 8},
  {9, 10, 11, 12}
};

訪問元素時使用下標,如 scores[0] 代表第一個元素,matrix[1][2] 代表第二行第三列。

二、字串與字串陣列

字串與字串陣列示意圖

在C語言中,字串本質是以空字符 \0 結尾的字符陣列。這一點至關重要:

  • 字符陣列長度至少要比實際字串長度大1(留位給 \0)
  • 不能直接用 == 比較字串內容(那會比較地址),需用 strcmp()
  • 可用 sizeof(陣列名)/sizeof(元素類型) 計算陣列長度

三、核心字串操作函數(需包含 <string.h>)

函數功能備註
strcpy(dest, src)複製字串會覆蓋目標內容,需確保目標空間足夠
strcat(dest, src)拼接字串將 src 接到 dest 末尾
strcmp(s1, s2)比較字串相等返回0;s1>s2返回正數;s1<s2返回負數
strlen(str)獲取字串長度不包含結束符 \0

四、實戰小結

  1. 陣列是同類型數據的有序集合,下標從0開始
  2. 二維陣列按行優先存儲,適合表格數據
  3. 字串必須以 \0 結尾,字符陣列需預留空間
  4. 字串比較、複製、拼接、測長均需調用庫函數
  5. 善用 sizeof 計算陣列元素個數,避免硬編碼

掌握陣列與字串,是編寫高效C程式的關鍵基礎。下一節我們將探討函數與模組化程式設計,敬請期待!

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