C语言基础专题 - 数组(编辑中)

C语言基础专题 - 数组


本文介绍了C语言中数组地相关知识
阅读本文前推荐阅读:C语言数据类型
阅读本文后推荐阅读:C语言结构体
阅读本文后推荐阅读:C语言字符串
其它推荐阅读:python序列

1.🧐什么是数组?

答:数组是一个容器,它依据某种顺序存储固定大小的、相同类型的多个构成元素。

2.👨‍💻看代码学数组基础

我想我们没有必要在一开始对数组的各个只是点进行一一列举、分别说明。花5分支阅读理解完以下代码即可上手,这才是目的。

#include <stdio.h>
 
int main (){
	
   int n[10];    // 声明一个包含10个元素、每个元素都为 int 型的数组
   float c[2];    //声明一个包含2个元素 、每个元素都为 float 型的数组
   
   int i;
   
   /* 依据数组索引顺序初始化数组n的元素,使元素值构成一组整数 10 - 19 */         
   for ( i = 0; i < 10; i++ ){
      n[ i ] = i + 10; 
	}
	
	/* 使用索引对数组c的特定元素进行初始化 */
	c[0] = 99.72;
	c[1] = 85.26;
   
   /* 打印数组n中每个元素的值 */
   printf("我是数组n,以下是我各个元素的索引方式与它们索引后得到的值:\n");
   for (i = 0; i <= 9; i++ ){
      printf("n[%d] = %d\n", i, n[i] );
   }
   
   /* 打印数组c中指定元素的值 */
   printf("\n我是数组c,以下是我各个元素的索引方式与它们索引后得到的值:\n");
   printf("c[0] = %.2f\n", c[0]);
   printf("c[1] = %.2f\n", c[1]); 
   return 0;
}

运行结果:

我是数组n,以下是我各个元素的索引方式与它们索引后得到的值:
n[0] = 10
n[1] = 11
n[2] = 12
n[3] = 13
n[4] = 14
n[5] = 15
n[6] = 16
n[7] = 17
n[8] = 18
n[9] = 19

我是数组c,以下是我各个元素的索引方式与它们索引后得到的值:
c[0] = 99.72
c[1] = 85.26

--------------------------------
Process exited after 0.0267 seconds with return value 0
请按任意键继续. . .

在上面的代码中我们可以学会:

  • 1.数组的声明格式为C类型 数组名 [数组元素个数];,其中C类型(点击链接打开相关知识点页面)可以是int、double等任意有效的 C 数据类型。
  • 2.数组的索引,也就是数组中某个元素的编号。这说明数组元素是有顺序,我们使用编号来获取对应的一个数组元素。
  • 3.数组元素的索引是从0开始计算的,这意味着如果声明了一个拥有10个元素的数组,那么这10个元素的下标对应为0、1、2、~、9,初接触编程语言的读者需要额外留意。

在这我们还需要通过代码来了解数组的其它初始化书写方式,请看代码:


3.👩‍🏫发现问题——多维数组

请留意上面我们提到过的(也许你已经发现了):数组元素类型可以是任意有效的 C 数据类型,没错这意味着数组的元素也可以是数组!——这就是所谓多维数组。
没有代码少直觉,还是让我们从阅读代码学习吧:

#include <stdio.h>
 
int main (){
   int a[2][3] = {{0,0,0}, {1,2,0}};     // 声明一个 2X3 数组(即2行3列数组) 
   
   int i, j;
   /* 打印数组中每个元素的值 */
   for ( i = 0; i < 2; i++ ){
   	  printf("\n行号:%d",i);
   	  printf("\n");
      for ( j = 0; j < 3; j++ ){
         printf("a[%d][%d] = %d\n", i,j, a[i][j] );
      }
   }
   return 0;
}

运行结果:


行号:0
a[0][0] = 0
a[0][1] = 0
a[0][2] = 0

行号:1
a[1][0] = 1
a[1][1] = 2
a[1][2] = 0

--------------------------------
Process exited after 0.02721 seconds with return value 0
请按任意键继续. . .

从代码我们可以学到:

  • 二维数组的声明格式为:C类型 数组名[行数][列数];,多维数组类似;
  • 二维数组的声明和索引都是先行后列的;
  • 与一维数组一样的是虽然声明的时候[]中的整数代表元素的个数、这个个数是从1开始计算的,然而索引的时候[]中的整数代表的是从0开始计算的索引号。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jcLee95

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值