鱼C论坛

 找回密码
 立即注册
查看: 1709|回复: 10

[已解决]c语言变量定义数组??

[复制链接]
发表于 2020-12-3 11:29:32 | 显示全部楼层 |阅读模式
20鱼币
QQ截图20201203101342.png
QQ截图20201203101533.png
QQ截图20201203102254.png
为什么会这样??
到底可不可以用变量定义数组??
最佳答案
2020-12-3 11:29:33
吃点饭饭 发表于 2020-12-3 15:49
在c99的标准定义中可以使用吗?

变长数组是C99添加的,支持C99、C11的软件中都可以使用

最佳答案

查看完整内容

变长数组是C99添加的,支持C99、C11的软件中都可以使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-3 11:29:33 | 显示全部楼层    本楼为最佳答案   
吃点饭饭 发表于 2020-12-3 15:49
在c99的标准定义中可以使用吗?

变长数组是C99添加的,支持C99、C11的软件中都可以使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-3 11:54:32 | 显示全部楼层
定义数组不能用变量,能通过说明编译器的问题,可能做了优化。
但是定义了宏可以定义数组,比如
#define N  3
int a[N];
这样可以 ,但是宏定义也相当于常量,不是变量。      
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-12-3 12:12:25 From FishC Mobile | 显示全部楼层
北冰羊 发表于 2020-12-3 11:54
定义数组不能用变量,能通过说明编译器的问题,可能做了优化。
但是定义了宏可以定义数组,比如
#define ...

我们学校老师问我们可不可以,我说不可以,然后他就用dev c++编译了,确实可以,等我回去再用vs的时候又不行了,当时就老疑惑了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-3 12:42:15 | 显示全部楼层
吃点饭饭 发表于 2020-12-3 12:12
我们学校老师问我们可不可以,我说不可以,然后他就用dev c++编译了,确实可以,等我回去再用v ...

相信科学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-3 13:10:39 | 显示全部楼层
DEV_C++ 可以使用变长数组,但 VS2015 、VC++6.0 等微软的软件则不支持变长数组,据说,变长数组不是微软主导的,他们拒绝使用
解决的办法是将数组元素个数定义为常量:
#define n  3
int main()
{
    int a[n];
    . . . . . .
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-12-3 15:49:46 From FishC Mobile | 显示全部楼层
风过无痕1989 发表于 2020-12-3 13:10
DEV_C++ 可以使用变长数组,但 VS2015 、VC++6.0 等微软的软件则不支持变长数组,据说,变长数组不是微软主 ...

在c99的标准定义中可以使用吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-3 18:50:01 | 显示全部楼层

C语言编译器都应该支持,因为这是C语言标准。
但是这不是C++标准。VS对C标准不完全支持,所以VS不能用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-3 19:00:41 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-12-3 18:50
C语言编译器都应该支持,因为这是C语言标准。
但是这不是C++标准。VS对C标准不完全支持,所以VS不能用。

学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-12-6 15:21:53 | 显示全部楼层
风过无痕1989 发表于 2020-12-3 11:29
变长数组是C99添加的,支持C99、C11的软件中都可以使用

学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-6 21:44:06 | 显示全部楼层
从c99标准开始C语言正式支持可变长数组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-13 17:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表