数组长度不能用变量可以用字母吗
发布网友
发布时间:2022-05-22 08:51
我来回答
共5个回答
热心网友
时间:2024-03-07 17:23
数组长度可以使用常量,包括直接书写值的常量或者自定义常量及其表达式
int a[5] 中的 5 即为数值常量
const int N=5; int a[N] 中的 N 即为自定义常量,说白了就是给 5 起个名字而已,这样做的好处就是一旦你程序需要修改数组大小,你只需要修改 const 定义语句重新编译程序即可。
int a[N*5]; 也可以,因为常量运算结果还是常量,故也可以作为数组大小。
之所以是常量不是变量,你可以简单认为定义过程其实就是告诉操作系统,我需要多大的内存空间来存储数据,只有大小确定了,系统才能够给你分配确定的大小。(简单理解,无需深挖)
define 宏也是类似作用,只不过 define 宏是告诉编译器的,而 const 是 C++ 语言里的。
define 不用 = 号,const 需要用 = 赋值,而且只能定义的同时来赋值。
热心网友
时间:2024-03-07 17:24
#define是宏定义,意思就是max在整个程序中都是50;定义时,不用=;所以这样写当然可以!
热心网友
时间:2024-03-07 17:24
可以的,用define声明只起‘字符替换’的作用,在程序中max相当于5
代码:
#include "stdio.h"
#define N 5 //不用等号
void main()
{
int a[N];
for(int i=0;i<N;i++)
{
a[i]=i;
printf(" %d",a[i]);
}
putchar(10);
}
结果:
0 1 2 3 4
Press any key to continue...
热心网友
时间:2024-03-07 17:25
数组声明可以。剩下的操作就不对了。
热心网友
时间:2024-03-07 17:26
试一下。。。。