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

C語言教學:二維數組初始化技巧與字符數組、字符串處理全攻略

     編輯:C 語言基礎

二維數組的初始化方式

二維數組初始化可「按行分段」或「按行連續」賦值,結果相同。例如 int a[5][3]:

/* 分段 */ static int a[5][3] = {{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};
/* 連續 */ static int a[5][3] = {80,75,92,61,65,71,59,63,70,85,87,90,76,77,85};

規則:
1. 可部分初始化,未列出者自動為 0。
2. 全部初始化時第一維長度可省略(static int a[][3]={...};)。

二維數組可分解為多個一維數組

a[3][4] 可視為三個一維數組 a[0]、a[1]、a[2],各自擁有 4 個元素。注意:a[0] 等是數組名(首地址),不可作為下標變量直接使用。

字符數組與字符串存儲

字符數組用 char c[10]; 定義,每元素佔 1 字節。初始化可逐字符或用字符串字面值:

static char c[] = {'C',' ','p','r','o','g','r','a','m'};
static char c[] = "C program";  /* 自動補 '\0' 結束符 */

字符串在記憶體中以 \0 結尾,佔用長度 = 字符數 + 1。printf("%s", c) 與 scanf("%s", c) 可一次輸入輸出整串,但 scanf 遇空格停止,需用多數組或 gets 處理含空格字串。

字符數組名即首地址

數組名代表首元素地址,故 scanf("%s", st) 無需 &。輸出時從首地址逐字符列印至遇 \0 為止。

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