复习课14 初识数组
  uUWKQE7Avyk4 2023年11月12日 27 0

一.问题导入

现需要编写一个程序,程序需要有26个变量,每一个变量都需要存储一个整型数字,所以我们需要将代码写成如下形式:

int main(void)
{
  int a = 1;
  int b = 2;
  int c = 3;
  ……………
  int z = 26;
  return 0;
}

我们很快就会发现这样写的弊端:1.代码冗杂重复 2.无法使用循环语句对每一个值进行输出

所以我们这里引入了数组这个概念,数组顾名思义就是一组同类元素的集合,当我们使用数组来完成上述要求时就变得简单很多,代码如下:

int arr[26] = {1,2,3,4,5,6,……,26};

[]内的数字代表数组最大的元素个数,当然我们也可以置空,编译器会根据元素个数进行指定,{}内存放的是数组的元素,当我们创建一个数组时程序就会向内存开辟相应的空间,数组占用内存空间大小由数组数据类型与数组元素个数决定(如:这里创建了int类型的数组,数组元素一共有26个,C语言中 int 类型占用4个字节,这里有26个元素所以该数组占用内存大小为 26*4 = 104 字节


二.数组下标

C语言规定数组中第一个元素的下标是 0 第二个元素下标是 1 第三个元素下标是 2 以此类推,所以我们可以得出以下公式

数组元素的最大下标 = 数组总元素个数 - 1

那么数组 arr[1] 的值就不是 1 而是 2,如果需要输出 1 那么对应的数组是 arr[0]


三.循环输出数组元素

知道了数组的基本原理后我们可以尝试利用循环来输出数组中的每一个元素,既然要访问到数组中的每一个元素那么势必就需要知道每一个元素的下标以及下标总个数,代码如下:

#include<stdio.h>
int main(void)
{
  int i = 0;
  int arr[10] = {0,1,2,3,4,5,6,7,8,9};
  int sz = sizeof(arr)/sizeof(arr[0]);
  for(i=0;i<sz;i++){
  printf("arr[%d] --> %d\n",i,arr[i]);
}
 return 0;
}

这里我们创建了一个数组 arr 将数组下标初始化为 i(i=0) 随后我们创建了一个变量名为 sz ,其作用是计算数组元素个数原理就是将数组元素的总大小计算出来之后除以第一个元素的大小就可以得到元素总个数,随后我们使用 for 循环当 i<sz 时候进入循环循环输出数组元素即可,这里数组下标为变量 i 所以printf()函数后的实参就是 arr[i]

这篇文章大致的讲解了一下数组,很多细节已经关键性内容都会在以后详细讲解数组时候讲到

2023/10/9

王起舟

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  zLxnEsMLk4BL   2023年11月19日   29   0   0 数组字符串数组名
  gBkHYLY8jvYd   2023年11月19日   23   0   0 #include数组ci
  X5zJxoD00Cah   2023年11月19日   18   0   0 数组单引号字符串
  gBkHYLY8jvYd   2023年12月10日   22   0   0 #include数组i++
uUWKQE7Avyk4