永发信息网

我想定义n个变量怎么办?

答案:3  悬赏:80  手机版
解决时间 2021-03-22 09:26
  • 提问者网友:练爱
  • 2021-03-21 10:25
我想定义n个变量怎么办?
最佳答案
  • 五星知识达人网友:鸽屿
  • 2021-03-21 11:19
数组是静态分配内存的,也就是编译时就分配好,不能在程序执行时改变,动态分配内存可以用malloc函数,比如:
int n;
scanf("%d", &n);    // 输入数组大小
int *a = (int *)malloc(sizeof(int)*n);    // malloc是以字节为单位分配的,所以要用int型的大小乘以长度
for(int i=0;i    printf("请输入a[%d] :", i);
    scanf("%d", &a[i]);
}
全部回答
  • 1楼网友:罪歌
  • 2021-03-21 13:30

可以利用动态内存分配

int n=5;
int *a=(int*)malloc(sizeof(int)*5);

另注:C99后支持可变长数组,所以lz的做法在C99后是允许的

追问谢谢了。
  • 2楼网友:患得患失的劫
  • 2021-03-21 12:57
int n=5;
int a[n];这个是因为n是变量。所以不行
一般这样
#define n 5;
int a[n];
上面的可以
第二种,直接输入常数 如 int a[5];
如果不知道n有多大,一般会将数组定义一个比较大的数组。如int a[100];
当然还有动态分配空间,这里你肯定没有学,这种方式比较复杂,以后会知道的追问谢谢。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯