还剩1页未读,继续阅读
文本内容:
一维数组的定义和使用ch5-l所谓数组,是相同数据类型的元素按一定顺序排列的集合若将有
1.限个类型相同的变量的集合命名,那么这个名称为数组名组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量用于区分数组的各个元素的数字编号称为下标数组是在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式这些按序排列的同类数据元素的集合称为数组来自百度百科对“数组”的介绍在语言中,为什么数组的下标从开始而不是从开始?
2.C01数组在内存中是顺序存放的,也就是申请的内存是一段连续的空间而数组下标从开始就是为了计算内存地址快捷例如定义一个数0组数组名是数组的首地址,那么作为第一个元素的int a
[5];a a
[0],它的地址其实就是也就是;第二个元素它的地址就是;a,a+0a[l],a+1以此类推由此看出,用数组名加上下标,只需要很简单的计算,就可以在内存中准确地访问到元素数组的下标都是从开始的吗?3,不是全部,类语言就可以不从开始计数Pascal数组下标越界
4.数组下标越界是一个程序初学者最容易犯的错误之一以一个简单的一维数组为例这是一个整型的数组有inta
[10];a,10个元素因为正确的下标应该是从开始,到结束,与a
[0]-a
[9],09生活习惯中的不一样,于是产生一个的错误,即数组下1-10a
[10]标越界和语言中数组下标越界,编译器是不会检查出错误的,但是实c C++际上后果可能会很严重,比如程序崩溃等,所以在日常的编程中,程序员应当养成良好的编程习惯,避免这样的错误发生来自百度百科”数组下标越界”的介绍〃汰数组下标越界http:ba数组的长度可不可以变化?
5.语言中,直到标准出现之前,声明数组时在方括号内只能使C C99用整数常量表达式而做了很大改进,允许数组的[]中的值是C99整形变量或是整形表达式这就解释了下面的情况int n;%scant”cT,n;int array[n];虽然确实是需要运行时动态确定的变量,但是在中,以这种n C99变量作为数组大小的形式已经是允许的了这样的数组就被称之为“变长数组”注意变长数组是指用整型变量或表达式声明或定义的数组,而不是说数组的长度会随时变化,变长数组在其生存期内的长度同样是固定的来自百度百科“变长数组”的介绍:变长数组。
个人认证
优秀文档
获得点赞 0