网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月04日
漏签
0
天
c语言吧
关注:
799,012
贴子:
4,355,040
看贴
图片
吧主推荐
视频
游戏
1
2
下一页
尾页
59
回复贴,共
2
页
,跳到
页
确定
<<返回c语言吧
>0< 加载中...
int a[n]这个写法是否正确。
只看楼主
收藏
回复
久病成医566
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
老师说不能用变量定义数组,说int a[n]这个写法是错误的。那我先定义并且输入n这个写法还是不是错误的,写了一遍而且确实能运行,所以到底能不能这么写
aaaaaaa421
葱の帝球
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
在旧的 C 标准中是错的。在较新的 C 标准中,int a[n] 这种写法(也被称作 VLA)被作为一个可选的功能加入了进来,由于是可选功能,并非所有编译器都会实现(目前来说除 msvc 以外的主流编译器全都支持),因此要视情况而定。当作不能这么写仍然是最保险的做法,尤其是在考试的时候。
广告
立即查看
ZFNY
彩虹面包
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
C语言中C99引入了VLA数组,其允许将变量作为数组的长度,C11将其变为了可选项,由编译器自己决定是否允许这种操作。
arcade.
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
c99之前的需要用动态内存分配malloc
stanchcorder6
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如果这个数组是在函数内部定义,就是正确的。不过要注意,这种数组的长度一旦确定,在它的生存期内不能调整,而且这种数组也不能在定义时初始化
tensor
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
可以过编译
雾雨紫穹
帕秋莉糕
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
建议写malloc或者定义个宏
是小小怪捏
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如果不这么写 那还能怎么写可以实现这个功能呢
来自大一🐭🐭的疑惑
广告
立即查看
饮茶你应倒
低能力者
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
原因是这样创建当n非常大时会把栈挤满,但创建在堆里就不会
言樱
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
最好别这么干,可变数组用malloc吧
readmoon2
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
在c和c++里是错误的,有的编译器报错有的不报错。因为c/c++的数组不是动态数据类型。你可以尝试用分配内存再指定为数组的的方法在c/c++里实现动态数组的功能,或者使用c++ stl库提供的容器类型。
我全都要
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
以前的好像要求n必须是常量
最高法守护谣
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
在教科书上是错误的,但是c一直在改,你能用说明哪一天改成能用了呗。用着顺手就一直用呗
太阴华
低能力者
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
那现在这种变长数组是什么实现方式啊
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示