【C】数组——知识点大全(简洁,详细)(一)

简介: 【C】数组——知识点大全(简洁,详细)

一.一维数组的创建

1.数组的基本形式

2.变长数组

  • C99中引入了变长数组的概念
  • 变长数组支持数组的大小使用变量来指定,但是变长数组不能初始化
  • 变长数组不是数组的长度可以变化

例:

1. int n=0;
2. scanf("%d",&n);
3. int arr[n];支持C99标准的编译器环境下能编译

3.数组的初始化

数组可以不给定范围,但是一定要初始化!

初始化分为完全初始化,不完全初始化(除了初始化的元素,其余默认为0)

int arr1[2]={1,1};完全初始化
int arr2[10]={1}不完全初始化,第一个元素初始化为1,其余剩下都为0

二.数组的本质

  • 数组的本质是一类相同元素的集合

例:

区别:

三.一维数组的使用

1.访问数组成员

  • 数组是使用下标(下标引用操作符)来访问的,下标从0开始
  • 数组的下标总是比个数小一位

例:

2.计算数组的大小

四.一维数组在内存中的存储

  • 一维数组在内存中的存储是连续存放
  • 随着数组下标的增长,地址也是从低到高变化的

       

  • 每一个内存单元大小就是一个字节(byte),即(int占4个内存单元)


图示:

五.二维数组

1.二维数组的形式

2.二维数组的初始化规则

  • 放满一行,再来一行,其余初始化为0

     

  • { } 决定换行
int arr[3][4]={{1,2},{4,5}};

  • 二维数组,行有几个可以不知道,列有几个必须知道

六.二维数组的使用

  • 二维数组的使用也是通过下标的方式

图示:


1.打印二维数组

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

  • 二维数组在内存中的储存也是连续存放
  • 随着数组下标的增长,地址也是从低到高变化的

   

PS:引申用法:当把每行当作一维数组时,数组名可视作行名

   

图示:

相关文章
|
3月前
对数组中的对象进行排序 简洁易懂
对数组中的对象进行排序 简洁易懂
【C++&数据结构】超详细一文带小白轻松全面理解 [ 二叉搜索树 ]—— [从零实现&逐过程分析&代码演示&简练易懂](23)
【C++&数据结构】超详细一文带小白轻松全面理解 [ 二叉搜索树 ]—— [从零实现&逐过程分析&代码演示&简练易懂](23)
|
10月前
|
编译器 C语言
【C】数组——知识点大全(简洁,详细)(二)
【C】数组——知识点大全(简洁,详细)
|
10月前
|
存储 编译器
【C】指针——知识点大全(详细,简洁,含例题)(一)
【C】指针——知识点大全(详细,简洁,含例题)
【C】指针——知识点大全(详细,简洁,含例题)(二)
【C】指针——知识点大全(详细,简洁,含例题)
|
10月前
|
存储
【C】操作符——知识点大全(简洁,全面)(一)
【C】操作符——知识点大全(简洁,全面)
【C】操作符——知识点大全(简洁,全面)(二)
【C】操作符——知识点大全(简洁,全面)
|
10月前
|
Linux
【C】结构体+自定义类型知识点大全(基础,进阶,简洁,全面)(二)
【C】结构体+自定义类型知识点大全(基础,进阶,简洁,全面)
|
10月前
|
编译器 C语言
【C】结构体+自定义类型知识点大全(基础,进阶,简洁,全面)(一)
【C】结构体+自定义类型知识点大全(基础,进阶,简洁,全面)
|
10月前
|
算法
【数据结构】-8种排序解析(详细总结,简洁,含代码,例题)(一)
【数据结构】-8种排序解析(详细总结,简洁,含代码,例题)