C语言第四课 数组

来源:互联网 发布:牺牲西安以东 知乎 编辑:程序博客网 时间:2024/06/05 16:56

数组的大小:


数组空间的大小是  类型 乘 个数 


数组对应的值 是  个数减一   数组中的 arr【0】 是第一个 。


数组名可以当做一个指针,指向的是数组的第一个元素的首地址,这个指针是不可以改变的,可以根据数组名访问不同的数组元素。




一维数组的初始化方法:

1. int arr [5] = { 1 , 3 , 5 , 7 , 9};  //数组定义的一般写法

2. int arr [5] = { 1 , 18};   // 只对前两个进行赋值,  当打印 arr[2] 的时候,系统会默认给一个值 0, sizeof ( arr ) 的值 为 20

3. int args[ ] = { 11 ,22 ,33 }; // 因为右侧的元素确定为3个,所以可以得出sizeof( args )的值 为12

4. int args [ ' A'  ] = { 11 ,22 ,33 }; // 相当于是 int args [ 65 ]  因为 A的ASCLL码 为65

5. int count = 5 ;  int args[ count ] ; //如果不进行初始化,则这种写法是正确的,编译器不会报错为其分配20个字节的存储空间,ages[ 0 ] = 1; ,可以这样给数组 的元素进行赋值


二维数组的初始化方法:




int arr [5][2] ; 可以存放10个数据。 sizeof( arr ) ;  得到的值是 40. 其中 [ 5 ] 是行数 [ 2 ] 是列数

在地址中存放的顺序是  arr[ 0 ][ 0 ]  ---> arr[ 0 ][ 1 ]  ---> arr[ 1 ][ 0 ] --->arr[ 1 ][ 1 ] ---> .......---> arr[ 4 ][ 0 ] ---> arr [ 4 ][ 1 ]



二维数组的初始化的分类:


int arr [3][2] ={ {4 ,2  },{ 5 } ,{ 6 } }; // 按行初始化  也就是说  arr[ 0 ][ 0 ] = 4 arr[ 0 ][ 1 ]=2 arr[ 1 ][ 0 ]=5 arr[ 1 ][ 1 ]=0 ........   因为没赋值,所以默认为0

int arr [3][2]={4 , 2, 5 , 6 , 4 , 10 }; //顺序初始化 

 




二维数组的存储方式:


0 0