简明嵌入式C语言教程(13)--数组
时间:2010-05-22 来源:bluedrum
Andrew Huang [email protected]
1.数组定义
数组是C语言使用频率极高的存储结构,它有如下特点。
1.同一种数据类型的有序的集合。即一个数组可以保存同一类型多个实例
2.用一个数组名加上下标,可以访问数组内所有数据,并且下标可以动态改变,这大大方便程序编写。
3.数组本质是内存一段连续内存。本质上任意一段内存也能转换成数组操作。C语言在这一点上相当自由。
一维数组的定义格式
数据类型 数组名[数组尺寸] ;
例如 int ary[10];定义为10个元素大的数组。以上个例,我们来看如何操作数组。
是数组本身内存一段buffer。因此可以用 printf("%x\n",ary); 打印出数据首地址。
数组大小是所有元素尺寸的总和,因此上述数组在大小是 sizeof(int)*10.但C语言可以直接用 sizeof(ary)求出数组大小,
数组的访问是通过下标来进的,并以0为起始地址。这样int ary[10]的第一个元素为 ary[0],最后一个元素为 ary[9].这样ary[10]是数组越界了。这是初学常犯的错误。
但C语言的下标处理,非常自由。对于ary而言, ary[-1],ary[10],ary[15]的读写将不会造成任何编译问题。这种主要是为操作内存方便的设计,但是可能会带很大问题,会不会造成程序出错,这将由开发者自行判断。
相关阅读 更多 +