C语言数组怎么理解?

02:52:26 未经作者授权,禁止转载

关于C语言整数的基本语法与位操作


  • 数组:类型相同的数据元素的集合,是C语言中的一种构造数据类型。
  • 这些元素会顺序地存储在内存的某段区域。

数组类型 数组名[数组大小]
  • 数组大小:决定了数组中能够存放的元素数量。
    • 数组大小不能是变量,只能是字面值或字面值表达式。
      • C语言编译器要求在编译期间就需要确定数组的内存大小。
    • 数组大小必须是大于0的正整数。
  • 初始化列表:用大括号括起来的,用于对数组进行初始化的一个值的列表,每个值之间通过逗号隔开。
  • 初始化列表只能在定义数组时使用,数组定义完成后不能再使用初始化列表给数组赋值。
  • 全部初始化要求初始化列表中各元素个数必须与数组大小相同。

3.2 部分元素赋初值

  • 实际开发中,通常采用部分元素赋初值的方法对数组元素进行初始化,如:int arr[100]={0};

3.3 省略长度赋初值

  • 定义数组时,如果后面跟有初始化列表,并且初始化列表中的值的个数就是预期的数组大小,则可省略括号中的数组大小。

4.1 求最大值、最小值、平均值

//命令行读取10个整数 //求平均值、求最大值、最小值
  • 两两比较,每一轮都找出一个最大值或最小值。

第一次:5,1,4,7,2,9,3,8,6,|10

第二次:1,4,5,2,7,3,8,6,|9,10

第三次:1,4,2,5,3,7,6,|8,9,10

第四次:1,2,4,3,5,6,|7,8,9,10

第五次:1,2,3,4,5,|6,7,8,9,10

第六次:1,2,3,4,|5,6,7,8,9,10

第七次:1,2,3,|4,5,6,7,8,9,10

第八次:1,2,|3,4,5,6,7,8,9,10

第九次:1,|2,3,4,5,6,7,8,9,10

  • 选择列表中的最小值与未排序列表中的第一个值互换位置。
  • 每次都无序列表中选择第一个元素,与有序列表中最后一个元素开始逐一比较,在比它小的元素后面插入该元素。

5.1 二维数组的概念

  • 二维数组就是存放一维数组的一维数组。本质上可以理解为二维数组就是一个一维数组,只不过这个一维数组里面的每一个元素都是一个一维数组。
  • 相当于一个长度为3的一维数组,这个一维数组里面每个元素的长度是:长度为4的整形一维数组。

5.2 二维数组的初始化

  • 顺序全部赋初值 

5.2.3 省略长度初始化

  • 可省略行数,不可省略列数。

6.1 二维数组的遍历

张三 李四 王五 赵六 求每个人的平均成绩和每门课的平均成绩 //求每一科的平均成绩 //求每个人的平均成绩
  • C语言中没有专门存放字符串的类型,如果期望对字符串进行保存,只能通过字符数组来保存。
  • C语言中允许通过字符串字面值初始化字符数组。
  • 字符串可理解为是一种特殊的字符数组,如果字符数组中存在'\0',那么它就可以当成是一个字符串,如果没有'\0',则是普通的字符数组。
//s1与s2初始化效果相同

7.3 字符串的读取与打印

  • 注意:scanf读取字符串使用%s,另外数组名前面不需要加&。
  • 字符串在打印时,实际上是打印第一个'\0'之前的所有字符。
  • scanf在读取字符串时,遇到空格会认为字符串输入截止,不会读取空格及空格之后的内容。
  • scanf不会读取空格。
  • 如果想要完整读取一行内容(包括空格),可使用gets()。
  • puts()在完成字符串打印之后,自动打印一个换行。
  • 如果预期读取的字符串包含空格,使用gets()。
  • 如果只是原原本本地输出某个字符串,使用puts()。

C语言的学习中,数组可以算是基础中比较重要的内容了,也是时常会被使用到的。下面本篇文章就来给大家介绍一下c语言中数组要如何定义,希望对大家有所帮助。

在C语言中,数组分为一维和二维

定义公式:类型说明符 数组名[常量表达式];

注意:常量表达式包括常量与符号常量,不能包含变量。

上面的示例中,定义了一个int整型数组,数组名为a,定义的数组称为数组 a。还定义了一个字符类型的数组,数组名为c,定义的数组称为数组 c。

此时数组 a 中有 5 个元素,每个元素都是 int 型变量;数组c中有 3 个元素,每个元素都是 char 型变量。

说明:数组名除了表示该数组之外,还表示该数组的首地址。数组中的元素在内存中的地址是连续分配的。

下面我们来看看C语言定义和初始化一维数组的几种形式:

示例1:整型数组的定义和初始化

示例2:字符数组的定义和初始化

定义公式:类型说明符 数组名[常量表达式][常量表达式];

上面的示例中,定义了一个3行4列的二维整型数组a和一个3行10列的二维字符数组c。

注:在定义二维数组时,可以不指定行(第一维)的长度,只指定列(第二维)的长度。第二维长度的长度不可省略。

下面我们来看看C语言定义和初始化二维数组的几种形式:

示例1:二维整型数组的定义和初始化

示例2:二维字符数组的定义和初始化

相关视频教程推荐:《》

以上就是c语言数组怎么定义?的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系核实处理。

我要回帖

更多关于 c中数组的定义与使用 的文章

 

随机推荐