c语言数组中的常量表达式和下标有什么区别 两者相等吗 看讲解视频没有听懂 麻烦哪位学者讲解一下 🙏
数组定义的时候,中括号里的内容表示数组的大小
数组使用的时候,中括号里的内容表示数组的下标
常量表达式和下标的区别: - 常量表达式是在编译时就确定的值,例如用整型常量、枚举常量、宏定义常量、sizeof等得出的值。而下标是需要在运行时根据下标值来确定的。
常量表达式和下标在处理数组时的不同: - 常量表达式可以用来定义数组长度,例如char str[20]
。而下标则用来访问数组元素,例如读取数组的第一个元素可以使用str[0]
。
下面是一个示例程序,用常量表达式定义了一个数组的长度,同时用下标访问数组元素:
#include <stdio.h>
#define ARRAY_LEN 5
int main()
{
int arr[ARRAY_LEN] = {1, 2, 3, 4, 5};
for(int i = 0; i < ARRAY_LEN; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
输出结果为:1 2 3 4 5
。
在上面的程序中,ARRAY_LEN
是一个常量表达式,它定义了数组arr
的长度,而下标i
用来访问数组元素。