社区
C语言
帖子详情
声明动态大小的数组
julyclyde
2004-04-04 12:30:21
int t;
scanf("%d",&t);
int array[t];
居然能运行!!!
编译器:gcc/mingw 3.2
...全文
78
26
打赏
收藏
声明动态大小的数组
int t; scanf("%d",&t); int array[t]; 居然能运行!!! 编译器:gcc/mingw 3.2
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
julyclyde
2004-04-12
打赏
举报
回复
哦。明白了。
加分
Garriot
2004-04-12
打赏
举报
回复
malloc和new当然不会被淘汰。因为C的动态数组并不像VB里的那么灵活,它在第一次声明以后就不可以再改变了。也就是说你可以在任何一个地方int array[t];,整个程序但只能int array[t];一次
julyclyde
2004-04-11
打赏
举报
回复
是不是 malloc和new可以淘汰了?
Andy84920
2004-04-10
打赏
举报
回复
这是C99标准啦..
GCC符合标准(在这里)
bshaozi
2004-04-10
打赏
举报
回复
顶
heuristic
2004-04-10
打赏
举报
回复
悔^^^^^^
昨天正对这个问题感到郁闷呢,后来用malloc解决的
5420
2004-04-10
打赏
举报
回复
我也觉得不行,至少你只能在一个程序对它赋一次值
julyclyde
2004-04-10
打赏
举报
回复
这样的话,我们还要new/malloc/calloc干什么?
fireinsky
2004-04-08
打赏
举报
回复
如果这样用:
const int t;
scanf("%d",&t);
int array[t];
就更正确了,是可以进行的,标准C++中是允许的,许多编译器也支持!
Kingxinyu
2004-04-08
打赏
举报
回复
关注 c99
zhangfjj
2004-04-07
打赏
举报
回复
顺便说一下,楼主的名字很牛呀!
zhangfjj
2004-04-07
打赏
举报
回复
对,这是新标准。
Garriot
2004-04-07
打赏
举报
回复
“C99中,用户可以声明一个数组,其维数由任一有效的整型表达式确定,包括那些只在运行时才知道的表达式。这被称为变长数组(VLA)。但是,只有本地数组(也就是说,在块范围或原型范围内)才可以变长。”-------------《C语言大全》P189
“……在C99(以及C++)中……在首次使用之前,可以在块的任何位置声明变量。”————————《C语言大全》P13
差不多现在新版的编译器,如gcc3.3,都支持C99特性了,我想这是上述代码能通过编译的原因。
不知道这些编译器是否是完全支持C99?
autoegg
2004-04-07
打赏
举报
回复
这样做感觉不是很安全,还是用vector好了。
Garriot
2004-04-07
打赏
举报
回复
《The Complete Reference C》(Herbert Schildt) 中文版,电子工业出版社
peter9606
2004-04-07
打赏
举报
回复
Garriot(自由枪骑兵) 可以知道你的那个C大全 是从那里弄到的么?
shankeke
2004-04-07
打赏
举报
回复
楼住的名字,呵呵:)
其实我用GCC感觉规范满严的,这可能是特例吧:)
julyclyde
2004-04-06
打赏
举报
回复
关注
great_chenliang
2004-04-05
打赏
举报
回复
3.x启连sizeof都是运行时求值了呢,即使-std=c89
moswawa
2004-04-05
打赏
举报
回复
标准?
难道不是ANSI 的C是最标准的吗?
加载更多回复(6)
《C语言基础》 之 第8章
数组
课程内容:
数组
的
声明
、定义(初始化)、
数组
的赋值、
数组
在内存中的空间特点、使用 [ ] 访问
数组
元素、
数组
元素的指针、
数组
第一个元素指针的表示方法、
数组
命令与++、sizeof与
数组
、
数组
名总结、函数普通传参回顾...
C++
声明
动态
数组
我们知道int占4个字节的
大小
,所以
数组
array1的
大小
为40字节;而array2只占8个字节的
大小
。
C++创建
动态
大小
的
数组
#include <iostream> using namespace std; int main(int argc, const char * argv[]) { int size; cout <... "
动态
创建
数组
size:"; cin >>size; int array[size]; cout &l...
JAVA之
动态
数组
动态
数组
就是在普通
数组
上,增加了一个可以根据元素的个数
动态
调整
数组
大小
的功能。 二、
动态
数组
的实现 1.创建一个Object类型的value
数组
,设置
数组
长度为length,
数组
元素数为size,并且初始化构造方法 ...
java:
数组
的静态和
动态
声明
Java
数组
的
声明
有两种,
动态
声明
和静态
声明
。 1、静态
声明
数据类型[] 变量名= {类型值1,类型值2,…}; ①
声明
一维
数组
: int[] arr = {1,2,3}; 也可以这样
声明
: int[] arr2= new int[] { 2, 3, 4, 1 }; ②
声明
二...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章