妮可基德曼 大小谎言:如何定义一个数组??

来源:百度文库 编辑:高校问答 时间:2024/04/28 02:31:49
定义一个数组为a[5],假设这五组数中所有的值都为2,
那在公式里:sum=a[0]+a[1]+a[2]+a[3]+a[4]+a[5] //多出一组
那么多出的这一组的值会是什么??是随机数吗??
写这程序的时候编译器是可以通过的!!
如果假设有四组是2,那么第五组是什么数??

a[5]数组中 5表示a数组中有5个元素,分别是a[0],a[1],a[2],a[3],a[4].

在sum=a[0]+a[1]+a[2]+a[3]+a[4]+a[5] 公式中严格的讲

将会出现‘下标越界’或‘上标越界’的错误(在不同的语言中数组的开始时不一样的!例如:c是 0开始;basic是1开始的!)!但是分在什么里面运行里!

而a[5]的值到底是多少呢?

就要知道,这个数组是如何在内存中存储的了!

数组如何在内存中存储,就要知道,数组是什么类型的?
不同的类型占用不同内存的大小!

例如: 地址:&1205 存储的 是a[4]的值,数组a是一个整形!

那a中的每一个元素占用的内存大小就是4字节,那么总共开辟的空间便是20字节的内存大小!

a[5]就是这20字节内存中,后面的4字节中得值。

a数组后面的4字节的值是多少呢?

谁也不知道?

只有内存知道!嘿嘿!

所以a[5]是一个不可预料的值!

数组,就是相同数据类型的元素按一定顺序排列的集合,也就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合。
定义数组步骤:

int a[10];
char b[10];
float c[10];
double d[10];

会产生编译错误啊!
根本就没办法通过编译!

字符串结束符

如果是c语言,a[5]是随机数