非常教程

C 教程教程

C 多维数组

C 多维数组

C 多维数组

C 多维数组

C 数组

C 语言支持多维数组。多维数组声明的一般形式如下:

type name[size1][size2]...[sizeN];

例如,下面的声明创建了一个三维 5 . 10 . 4 整型数组:

int threedim[5][10][4];

二维数组

多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。声明一个 x 行 y 列的二维整型数组,形式如下:

type arrayName [ x ][ y ];

其中,type 可以是任意有效的 C 数据类型,arrayName 是一个有效的 C 标识符。一个二维数组可以被认为是一个带有 x 行和 y 列的表格。下面是一个二维数组,包含 3 行和 4 列:

int x[3][4];

C 多维数组

因此,数组中的每个元素是使用形式为 a[ i , j ] 的元素名称来标识的,其中 a 是数组名称,i 和 j 是唯一标识 a 中每个元素的下标。

初始化二维数组

多维数组可以通过在括号内为每行指定值来进行初始化。下面是一个带有 3 行 4 列的数组。

int a[3][4] = {  
 {0, 1, 2, 3} ,   /*  初始化索引号为 0 的行 */
 {4, 5, 6, 7} ,   /*  初始化索引号为 1 的行 */
 {8, 9, 10, 11}   /*  初始化索引号为 2 的行 */
};

内部嵌套的括号是可选的,下面的初始化与上面是等同的:

int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};

访问二维数组元素

二维数组中的元素是通过使用下标(即数组的行索引和列索引)来访问的。例如:

int val = a[2][3];

上面的语句将获取数组中第 3 行第 4 个元素。您可以通过上面的示意图来进行验证。让我们来看看下面的程序,我们将使用嵌套循环来处理二维数组:

实例

#include <stdio.h> int main () { /* 一个带有 5 行 2 列的数组 */ int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}}; int i, j; /* 输出数组中每个元素的值 */ for ( i = 0; i < 5; i++ ) { for ( j = 0; j < 2; j++ ) { printf("a[%d][%d] = %d\n", i,j, a[i][j] ); } } return 0; }

当上面的代码被编译和执行时,它会产生下列结果:

a[0][0] = 0
a[0][1] = 0
a[1][0] = 1
a[1][1] = 2
a[2][0] = 2
a[2][1] = 4
a[3][0] = 3
a[3][1] = 6
a[4][0] = 4
a[4][1] = 8

如上所述,您可以创建任意维度的数组,但是一般情况下,我们创建的数组是一维数组和二维数组。

C 多维数组

C 数组

C 多维数组
C 教程

C 语言是一种通用的、面向过程式的计算机程序设计语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序员中备受青睐。

C 教程目录

1.C 基本语法
2.C 程序结构
3.C 环境设置
4.C 简介
5.C 作用域规则
6.C 函数
7.C 运算符
8.C 存储类
9.C 常量
10.C 头文件
11.C 预处理器
12.C 文件读写
13.C 输入 & 输出
14.C typedef
15.C 位域
16.C 共用体
17.C 结构体
18.C 指针
19.C 命令行参数
20.C 内存管理
21.C 可变参数
22.C 错误处理
23.C do…while 循环
24.C for 循环
25.C while 循环
26.C 嵌套 switch 语句
27.C switch 语句
28.C 嵌套 if 语句
29.C if…else 语句
30.C if 语句
31.C 指向数组的指针
32.C 从函数返回数组
33.C 传递数组给函数
34.C 多维数组
35.C 引用方式调用函数
36.C 传值方式调用函数
37.C goto 语句
38.C continue 语句
39.C break 语句
40.C 嵌套循环
41.C 从函数返回指针
42.C 传递指针给函数
43.C 指向指针的指针
44.C 指针数组
45.C 指针的算术运算
46.C 标准库 – <limits.h>
47.C 标准库 – <setjmp.h>
48.C 标准库 – <float.h>
49.C 标准库 – <errno.h>
50.C 标准库 – <ctype.h>
51.C 标准库 – <assert.h>
52.C 标准库 – 参考手册
53.C 库宏 – assert()
54.C 标准库 – <time.h>
55.C 标准库 – <string.h>
56.C 标准库 – <stdlib.h>
57.C 标准库 – <stdio.h>
58.C 标准库 – <stddef.h>
59.C 标准库 – <stdarg.h>
60.C 标准库 – <signal.h>
61.C 标准库 – <math.h>
62.C 标准库 – <locale.h>
63.C 库函数 – isspace()
64.C 库函数 – ispunct()
65.C 库函数 – isprint()
66.C 库函数 – islower()
67.C 库函数 – isgraph()
68.C 库函数 – isdigit()
69.C 库函数 – iscntrl()
70.C 库函数 – isalpha()
71.C 库函数 – isalnum()
72.C 库函数 – setlocale()
73.C 库宏 – ERANGE
74.C 库宏 – EDOM
75.C 库宏 – errno
76.C 库函数 – toupper()
77.C 库函数 – tolower()
78.C 库函数 – isxdigit()
79.C 库函数 – isupper()
80.C 库函数 – tanh()
81.C 库函数 – sinh()
82.C 库函数 – sin()
83.C 库函数 – cosh()
84.C 库函数 – cos()
85.C 库函数 – atan2()
86.C 库函数 – atan()
87.C 库函数 – asin()
88.C 库函数 – acos()
89.C 库函数 – localeconv()
90.C 库函数 – fabs()
91.C 库函数 – ceil()
92.C 库函数 – sqrt()
93.C 库函数 – pow()
94.C 库函数 – modf()
95.C 库函数 – log10()
96.C 库函数 – log()
97.C 库函数 – ldexp()
98.C 库函数 – frexp()
99.C 库函数 – exp()
100.C 库函数 – fmod()