上一篇介绍了跟处理字串有关的String函式库,也使用了很多例子来介绍函式的使用,不晓得这样有没有清楚一些?
趁不久前介绍的第十三篇Array,今天我们来介绍二维array!
大家对於一维、二维的概念大概来自於数学,一维是线、二维是平面而三维空间,但阵列的一、二维可能会有点像,但跟大家想的不太一样,还记得在第十三篇介绍的阵列吗,那种类型的阵列就是一维的单一排列,而阵列的二维、多维则是有点像巢状的结构。
下面我们来举个二维阵列的例子:
int arr[3][2] = {{1,2},{3,4},{5,6}};
可以看到这样子阵列中又包着阵列的形式会称为多维,而多维就是这样延伸下去。
(1) 宣告:不可以只有赋值。
a. 只宣告阵列大小
int arr[2][3];
b. 宣告阵列大小同时赋值
int arr[3][2] = {{1,2},{3,4},{5,6}};
(2) index:二维阵列的index仍是由0开始,而「阵列名称[index1][index2]」由左而右,对应阵列结构则是由外而内,各自的index则是分开计算像是下图。
可以参考以下程序码。
#include <stdio.h>
#include <string.h>
int main(void)
{
int arr[3][2] = {{1,2},{3,4},{5,6}};
printf("arr[0][0]: %d\n",arr[0][0]);
printf("arr[0][1]: %d\n",arr[0][1]);
printf("arr[1][0]: %d\n",arr[1][0]);
printf("arr[1][1]: %d\n",arr[1][1]);
printf("arr[2][0]: %d\n",arr[2][0]);
printf("arr[2][1]: %d\n",arr[2][1]);
}
#include <stdio.h>
#include <string.h>
int main(void)
{
int arr[3][2] = {{1,2},{3,4},{5,6}};
printf("arr[0][0]: %d\n",arr[0][0]);
printf("arr[0][1]: %d\n",arr[0][1]);
printf("arr[1][0]: %d\n",arr[1][0]);
printf("arr[1][1]: %d\n",arr[1][1]);
printf("arr[2][0]: %d\n",arr[2][0]);
printf("arr[2][1]: %d\n",arr[2][1]);
printf("---\n");
arr[1][0] = 0;
printf("arr[0][0]: %d\n",arr[0][0]);
printf("arr[0][1]: %d\n",arr[0][1]);
printf("arr[1][0]: %d\n",arr[1][0]);
printf("arr[1][1]: %d\n",arr[1][1]);
printf("arr[2][0]: %d\n",arr[2][0]);
printf("arr[2][1]: %d\n",arr[2][1]);
}
<<: 【从零开始的 C 语言笔记】第十五篇-String 函式库介绍与应用
>>: JS 45 - 是否要离开网站?可能无法储存您所做的变更。
资讯工程学系(Computer Science and Information Engineerin...
本文将於赛後同步刊登於笔者部落格 有兴趣学习更多 Kubernetes/DevOps/Linux 相...
开始部属 点击 登入後会看到这个画面 点击左上方的加号 进行第一次的线上coding 在main上输...
昨天轻松的安装完Xcode环境後,想必各位已经迫不及待想大显身手了吧! 但是吃紧弄破碗,就让我们先来...
一个图形具有两个集合的基本组成:G(V,E) V:表示顶点的集合 V(G1)={1,2,3,4} E...