44 数组

1,数组可以存放多个同一类型数据,数组也是一种数据类型,是构造类型,传递是以引用的方式传递(即传递的是地址)

2,数组的定义

  数据类型   数组名  【数组大小】

  int a[5]

  赋初值  a[0]=1  a[1]=3 .....

3,数组内存图:

  

   ①数组名[0]  就代表 该数组的首地址,即 a[0]地址

  ②数组的各个元素是连续分布的,假如

    a[0] 地址 0x1122 

    a[1] 地址 = a[0] 地址 + int字节数(4)=0x1122 +4=0x1126

    a[2] 地址 = a[1] 地址 + int字节数(4)

    a[3] 地址 = a[2] 地址 + int字节数(4)

    a[4] 地址 = a[3] 地址 + int字节数(4)

  ③访问数组元素,

    数组名【下标】,下标从0开始计算

4,3中初始化数组的方式:

  ①int arr [3] ;

   arr[0]=1; 

   arr[1]=3;

      arr[2]=6;

  ② int arr [3]= {1,3,6} ;

  ③ int arr[ ] = { 1,3,6} ;

5,①数组是多个相同数据类型的组合,一个数组一旦定义了/声明了,其长度是固定的,不能动态变化

  ②数组创建后,如果没有赋值,则遵守如下规则:

      全局数组默认值 0

      非全局数组初值是机器垃圾直=值(即:原来系统分配给这块空间的值)

  ③使用数组的步骤  定义数组  给数组各个元素赋值  使用数组,也可以一步到位

  ④数组的下标是从0开始的

  ⑤数组下标必须在指定范围内使用,若越界,编译通过,在运行时会因为数组越界而异常中断

  ⑥C的数组属于构造类型,是引用传递(传递的是地址),因此当把一个数组传递给一个函数或者变量时,函数 / 变量操作数组会影响到原数组。

    

     

     内存布局图:

      

     

猜你喜欢

转载自www.cnblogs.com/shanlu0000/p/12354139.html
44