| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1997 人关注过本帖
标题:问一个关于“自定义数组element数量的问题”
只看楼主 加入收藏
yimingyin
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-8-4
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:6 
问一个关于“自定义数组element数量的问题”
size_t nGrade = 1;
    printf("Enter the number of grades:");
    scanf("%d", nGrade);
   
    int grades[nGrade];
    long sum = 0L;
    float average = 0.0f;

compile的时候提示 int grade[nGrade]必须用常量表示,我的目的是自定义数组的element数量,这个如何改啊

[此贴子已经被作者于2017-8-9 21:51编辑过]

搜索更多相关主题的帖子: 自定义 数组 element 数量 int 
2017-08-09 21:37
Alien_Lee
Rank: 8Rank: 8
来 自:Linux帝国
等 级:蝙蝠侠
威 望:7
帖 子:149
专家分:739
注 册:2016-7-19
收藏
得分:4 
数组定义的时候必须明确内存的大小,比如说A[5],这个5必须是常数而不能是变量,否则编译器无法给你分配内存。如果要使用变量,则可以用动态内存分配方式,
参考malloc。calloc。recalloc。三个函数。

  DEBUG的过程就是进步的过程,每一个小错误都是大问题!...
2017-08-09 21:53
yimingyin
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-8-4
收藏
得分:0 
回复 2楼 Alien_Lee
这段编码是书上的,在讲如何自定义数组的个数。并没有提到必须使用别的函数。
reference:Beginning C(Ivor Horton)
2017-08-09 21:58
lmlm1001
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:4
帖 子:107
专家分:550
注 册:2015-3-1
收藏
得分:4 
    size_t nGrade = 1;
    printf("Enter the number of grades:");
    scanf("%d", nGrade);
如果你看的书 是这样写的,那我建议你不要看它了。
2017-08-09 23:38
wy2088511
Rank: 2
等 级:论坛游民
威 望:1
帖 子:12
专家分:53
注 册:2009-11-19
收藏
得分:4 
new 或者malloc就可以了。
2017-08-10 12:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:4 
以下是引用yimingyin在2017-8-9 21:58:57的发言:

这段编码是书上的,在讲如何自定义数组的个数。并没有提到必须使用别的函数。
reference:Beginning C(Ivor Horton)

你用的C编译器不支持VLA,换gcc吧
2017-08-10 13:02
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:4 
回复 2楼 Alien_Lee
可以用变量是C99的变长数组。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-08-10 13:43
快速回复:问一个关于“自定义数组element数量的问题”
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.061983 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved