数组

简介: 数组

本章重点:

image.png

一、 一维数组的创建和初始化

  • 创建时,【】内必须是常量,这样创建是错误的。(不能是变量)
  • image.png
  • 这两种对字符类型的初始化都可以,值得注意第二种相当于把\0存储进去,但显示还是0
  • 对sizeof和strlen的理解:sizeof计算数组所占空间的大小,而srtlen计算的是字符串的长度,遇到\0就停止计算

剖析sizeof和strlen的区别

  1. 二者并无关联
  2. strlen是求字符串长度,只能针对字符串求长度///sizeof  计算变量、数组、类型的大小---单位是字节
  3. strlen是库函数,需要引头文件,而sizeof是操作符

易错题

image.png

输出结果:4 3 3 随机值

最后一个易错:第二种没有出现\0,而srelen 只有遇到\0才会停止,所以是随机值


二、一维数组在内存中的存储

结论:数组在内存中是连续存放的

image.png

每个地址相差4,一个整型,4个字节。


三、二维数组的创建和初始化

1、二维数组的创建

image.png

第一个【】为行,第二个【】为列,类似于行列式。

2、二维数组的初始化

image.png

每一个单独的【】都是一行

TIP:行可以省略,但列不可省略

image.png

对行和列的标号也是从0开始


三、二维数组在内存中的存储

image.png

重要理解:可以将二维数组arr【0】第一个中括号堪称数组名,第二个中括号看成下标,直接转化为一维数组


四、数组作为函数参数

函数冒泡排序----flag

TIP:

为什么向一个函数传入一个数组的首地址,就可以对数组后面的元素进行操作?

因为数组名称代表就是数组分配的内存映射地址首地址,而数组的存储地址是连续的,这就是说:只要知道数组的首地址和数组类型(一个数组元素的分配空间)就可以访问任意下标的数组元素。


image.png

输出结果一样,可见数组名就是首元素地址。但有两个例外


image.png

&数组名特别记忆,表示整个数组

相关文章
|
7月前
|
Java
数组的练习
数组的练习
|
7月前
|
存储 搜索推荐 算法
C数组
C数组
36 0
|
7月前
|
存储 C++ 索引
C++数组
C++数组
64 0
|
存储 C语言 索引
C 数组
C 数组。
40 0
|
7月前
|
程序员 索引
C 中数组详解
C 中数组详解。
36 3
|
7月前
数组练习2
数组练习2。
31 2
|
机器学习/深度学习 Java
【数组的使用】
【数组的使用】
52 0
数组相关练习
数组相关练习
55 0
|
存储 C# 索引
C#视频—数组
C#视频—数组
|
C# 索引
C#视频-数组
C#视频-数组
56 0
下一篇
DataWorks