C数组的相关知识

数组的定义:具有相同数据类型的集合。在内存中开辟连续的存贮空间,从上往下,依次存储

补充:内存是以字节位单位的存储空间,内存中的每一个字节都唯一对应一个编号.这个编号就是地址。只要是存在内存中的数据都有相应的地址。

定义的形式:数据类型  数组名[数组长度];

int  a[10];

char s[5];

一个数组在内存中的存储形式:

数组元素的引用:

数组名[下标];

a[1];  //访问数组中第二个元素。

char [8];  //访问数组中第七个元素。

a[i]  //访问数组中第i-1个元素。

数组的初始化:

C语言对数组的初始化赋值还有以下几点规定:
1) 可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只 给前面部分元素赋值。例如:

  1. int a[10]={0,1,2,3,4};

表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

2) 只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:

  1. int a[10]={1,1,1,1,1,1,1,1,1,1};

而不能写为:

  1. int a[10]=1;


3) 如给全部元素赋值,则在数组说明中,可以不给出数组元素的个数。例如:

  1. int a[5]={1,2,3,4,5};

可写为:

  1. int a[]={1,2,3,4,5};

二维数组:

定义:

数据类型  数组名[数组行长度][数组列长度];

例如:

        int a[4][4];

引用:

      数组名[行下标][列下标];

        int b[i][j];

表示数组的第i-1行,第j-1列的元素。

二维数组的初始化:

同一维数组,注意可以省略行下标。

原文地址:https://www.cnblogs.com/zhang-jin-guo/p/4474970.html