C语言中的常量和变量

来源:百度知道 编辑:UC知道 时间:2024/05/06 00:07:12
int i,a[10];
for (i=0;i<=9;i++)
a[i]=i;

上面a[i]里的i可以从0-9之间变化,应该是变量吧 但是数组不是规定必须是常量表达式吗

分析如下:
int i,a[10]; /* 定义整形i和有10个数组元素的a ,此时数组元素个数是明确的,不是变量.*/
for (i=0;i<=9;i++)/*用for循环给i复值,执行10次a[i]=i的操作,其每一次i 的值都是已知的、固定的。*/
a[i]=i;
/*所以在执行a[i]=i时,i的值都是已知的,不会出错。

a[i]
a是int数组的常量~
[i]只是一组相同的常量的一个集合最后用 '\0'表示这个集合结束

首先数组的在定义的时候必须是常量表达式.中括号中间必须是一个常量.
但是访问数组中元素的时候是可以通过变量并给变量赋值以后实现对数组元素的访问.
第一行是定义变量和数组
后面的a[i]是对数组元素的访问.并对访问到的元素赋值为i.

不对,其实你可以这么理解:你这个问题并没有牵涉到数组,这个问题只是一个常量i的问题,只是在对常量i在执行for循环的时候不断地对其执行了"赋值操作"