数组

1. 定义数组

  数组定义:单元数据类型  数组名称[单元数量]   如:int num[100]

  • 数组是一种容器,特点:
    • 其中的所有单元具有相同的数据类型
    • 数组一旦创建,不能改变数组的大小
    • 数组中的单元在内存中是连续紧密依次排列的
  • 单元[索引],[ ]中的数字称为单元的下标或者索引,索引从0开始

  

   数组越界:

  

 2.数组运算

  2.1 数组的初始化

// 数组的初始化

// 第一种:先定义数组然后初始化
int num[10];
int i;
for (i = 0; i < 10; i++)
{
    num[i] = 0;
}

// 第二种:数组的集成初始化,编译器自己回去算数组的大小
int num[] = {1,2,3,4,5,6,7,8,9,10};

/* 注:int num[10] = {1}
 相当于:int num[] = {1,0,0,0,0,0,0,0,0,0}
 故第一种定义也可以写成如下第三种
*/

// 第三种,等效于第一种写法
int num[10] = {0};

// 第四种,适用于C99,对于初始化时,指定几个单元的数值,然后剩余的都为0的情况
int num[10] = {[1]=2,3,[5]=6}
// 得到的数组为{0,2,3,0,0,6,0,0,0,0}

  

  

   2.2 数组的大小

   sizeof()获得括号里的内容在内存中所占的字节数

  

   2.3 数组的赋值

  数组不能直接赋值

  

   2.4 数组作为函数的参数时

  

 

3. 二维数组

 int a[3][5]  表示一个二维3行5列的数组

 a[i][j] 表示数组的第i行第j列上的单元,其实在内存中二维数组还是连续紧密依次排列的

 a[i, j] 逗号是一个运算符 i, j 相当于j,故相当于a[j]

   3.1二维数组的初始化 

 二维数组在内存中的排列和一维数组一样,故里面的大括号其实也可以省略。

 

 

posted @ 2023-08-09 17:51  园友3218619  阅读(17)  评论(0)    收藏  举报