|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 对于谭浩强C语言书上的一个问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
557
人关注过本帖
标题:
对于谭浩强C语言书上的一个问题
只看楼主
加入收藏
msl12
等 级:
新手上路
帖 子:152
专家分:0
注 册:2015-2-6
结帖率:
25%
楼主
收藏
问题点数:0 回复次数:9
对于谭浩强C语言书上的一个问题
书上写:“如果在被调用的函数(不包括主函数)中定义数组,其长度可以是变量或非常量表达式。如:
void func(int n)
{
int a[2*n];
......
}
”
我试了下,n通过实参得到主函数的一个值,这样子创建数组好像不可行,我还想着能创一个由客户决定的长度的数组。。到底可以不可以呢?
搜索更多相关主题的帖子:
C语言
表达式
2015-03-17 10:08
举报帖子
使用道具
赠送鲜花
zklhp
来 自:china
等 级:
贵宾
威 望:
254
帖 子:11485
专家分:33241
注 册:2007-7-10
第
2
楼
收藏
得分:0
C99是允许的 如果用支持C99的编译器 这个代码是没问题的
2015-03-17 10:53
举报帖子
使用道具
赠送鲜花
lcy1990
等 级:
新手上路
帖 子:4
专家分:8
注 册:2015-3-17
第
3
楼
收藏
得分:0
应该是定义数组用num[5]的时候会有分配一段指针空间吧!这样用参数就编译不通过。。
[
本帖最后由 lcy1990 于 2015-3-17 12:30 编辑
]
2015-03-17 11:13
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
4
楼
收藏
得分:0
C99標準有這種用法,C11修正了把它作爲可選項,亦即跟以前C89一樣可以不提供。叫老譚改課本吧。
授人以渔,不授人以鱼。
2015-03-17 11:19
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
5
楼
收藏
得分:0
《C++ Primer》第五版,是根據C++11標準編寫的,我看了一下,數組部分還是强調須用常量表達式聲明和定義數組,亦即C++始終不鳥VLA。非要用C的就儘管養成那種習慣吧,不妨礙別人的愛好自由。
授人以渔,不授人以鱼。
2015-03-17 11:26
举报帖子
使用道具
赠送鲜花
msl12
等 级:
新手上路
帖 子:152
专家分:0
注 册:2015-2-6
第
6
楼
收藏
得分:0
回复 5楼 TonyDeng
嗯,原来如此
2015-03-17 17:03
举报帖子
使用道具
赠送鲜花
swchvs
等 级:
论坛游民
威 望:
2
帖 子:53
专家分:81
注 册:2015-2-21
第
7
楼
收藏
得分:0
数组还可以这样定义么
2015-03-17 21:28
举报帖子
使用道具
赠送鲜花
code力力
来 自:宜昌
等 级:
职业侠客
威 望:
2
帖 子:215
专家分:338
注 册:2015-1-12
第
8
楼
收藏
得分:0
我的理解是:定义的一个数组的长度须是一个确定的值,但是在函数(main除外)里值传参后数组长度就定了。
但是我试了一下:
-----------------------------
# include <stdio.h>
int main(void)
{
int n;
scanf("%d",&n);
int a[n];
return 0;
}
-----------------------------
编译运行都通过。新标准允许吧。
你的问题可以用动态内存分配来解决比较好吧
你醒了?快起来敲代码!!
2015-03-17 21:53
举报帖子
使用道具
赠送鲜花
kin3z
等 级:
职业侠客
威 望:
4
帖 子:157
专家分:390
注 册:2011-4-24
第
9
楼
收藏
得分:0
回复 5楼 TonyDeng
C99好像有提到,数组定义还可以用变量,例如:
int b;
int a[b];
//这好像在C99才行的。
回复错了,呵呵,回复楼上的 -_-!!
2015-03-17 22:56
举报帖子
使用道具
赠送鲜花
waterstar
等 级:
小飞侠
威 望:
5
帖 子:984
专家分:2810
注 册:2010-2-12
第
10
楼
收藏
得分:0
想用C89就只能malloc一个数组
冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2015-03-19 14:50
举报帖子
使用道具
赠送鲜花
10
1/1页
1
快速回复:
对于谭浩强C语言书上的一个问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.025749 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved