C_数组与指针


数组

数组声明

  数组由三部分构成 数组类型 数组名称 数组大小[] ,数组类型就是数组所能存储的数据类型,[]中的数字表明数组中元素个数,通过数组下标对数组元素进行访问,数组元素的编号从0开始,最后一个元素的下标为数组大小-1.

const声明:在数组类型前加上 const,把数组设置为只读类型.

数组初始化

  使用数组前必须先初始化,必须先赋予其初值,如果不初始化数组,数组元组中存储的是垃圾值 (内存中当前位置所存储的值)

数组初始化的几种形式:

  • 初始化列表中项数与数组大小一致:

int a [10]={0,1,2,3,4,5,6,7,8,9}
用花括号{}括起来,用,分隔值列表

  • 初始化列表中项数与数组大小不一致:
int a[4]={000,111};
输出结果:
a[0]    000
a[1]    111
a[2]    0
a[3]    0

  当初始化列表中的值少于数组元素个数时,编译器会把剩余的元素都初始化为0.即部分初始化数组,剩余的元素就会被初始化为0.
  当初始化列表中的值多于数组元素的个数,则会被视为错误.

  • 初始化时忽略[]中的数字

    如果初始化数组时忽略[]中的数组,编译器会根据初始化列表中的项数来确定数组的大小

int a[]={0,1,2,3,4,5};
  • 指定初始化[C99]
//传统初始化:
int a[6]={0,0,0,0,0,555};
//如若想只初始化某一项,就必须将之前的全部初始化

//指定初始化:
int a[6]={[5]=555};
//把a[5]初始化为了555

与一般初始化相同,在初始化过一个元素后,未初始化的元素都会被设置为0

特殊的:
  如果再次初始化指定元素,那么最后的初始化回取代之前的初始化

int a[6]={0,1,2,3,4,555,[1]=111}
/*输出结果
a[0]	0
a[1]	111
a[2]	2
a[3]	3
a[4]	4
a[5]	555

文章作者: Cantider
  目录