数组笔记

Posted hanwangyyds

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组笔记相关的知识,希望对你有一定的参考价值。

本章重点:

数组笔记_数组

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

  • 创建时,【】内必须是常量,这样创建是错误的。(不能是变量)

  • 不完全初始化,剩下的元素默认初始化0,
  • 数组笔记_数组_02

  • ,余下七位数都是0
  • 数组笔记_二维数组_03

  • 这两种对字符类型的初始化都可以,值得注意第二种相当于把\\0存储进去,但显示还是0
  • 对sizeof和strlen的理解:sizeof计算数组所占空间的大小,而srtlen计算的是字符串的长度,遇到\\0就停止计算

剖析sizeof和strlen的区别

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

易错题

数组笔记_二维数组_04

输出结果:4 3 3 随机值

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


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

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

数组笔记_数组_05

数组笔记_初始化_06

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


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

1、二维数组的创建

数组笔记_初始化_07

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

2、二维数组的初始化

数组笔记_数组_08

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

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

数组笔记_二维数组_09

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


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

数组笔记_数组_10

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


四、数组作为函数参数

函数冒泡排序----flag

TIP:

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

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


数组笔记_初始化_11

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


数组笔记_数组_12

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

以上是关于数组笔记的主要内容,如果未能解决你的问题,请参考以下文章

《C程序设计语言》笔记 (十三) 参考手册5

C语言__数组中的查找某一元素,并显示其下标号!急!求高手!

[汇编]《汇编语言》第16章 直接定址表

算法笔记_165:算法提高 道路和航路(Java)

数据挖掘学习笔记

如何用java程序输出带角标的字符串?