免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: vaaub
打印 上一主题 下一主题

c下不能随便在语句中声明变量? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-04-07 09:33 |只看该作者

c下不能随便在语句中声明变量?

[quote]原帖由 "HonestQiao"]c99可以阿[/quote 发表:

编译的时候加上选项就可以了
#gcc --std=c99 test.c

论坛徽章:
0
12 [报告]
发表于 2004-07-17 17:45 |只看该作者

c下不能随便在语句中声明变量?

int array[4];
...
...

array[]={1,2,3,4};//为何非法?!

难道一定要这样一次性初始化吗?
e.g:  int array[4]={1,2,3,4};

论坛徽章:
0
13 [报告]
发表于 2004-11-12 22:35 |只看该作者

c下不能随便在语句中声明变量?

C中是变量声明,C++中是定义,编译器的实现机理是不一样的

论坛徽章:
0
14 [报告]
发表于 2004-11-13 23:18 |只看该作者

c下不能随便在语句中声明变量?

[quote]原帖由 "___"]3,4};[/quote 发表:



对,{}赋值只能出现在初始化的时候.

论坛徽章:
0
15 [报告]
发表于 2004-11-13 23:21 |只看该作者

c下不能随便在语句中声明变量?

[quote]原帖由 "vaaub"]我写c程序,发现好像必须得把变量声明在函数的首部,不能在语句中来声明一个变量。是这样吗?[/quote 发表:


除了很古老的tc2.0,
别的编译器一般都支持在任何地方声明变量吧?

当然在函数首部声明变量是一个好习惯..
准确的说,是在"{}"语句块中"{"出现的下一行声明变量,是一个好习惯.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
16 [报告]
发表于 2004-11-14 13:16 |只看该作者

c下不能随便在语句中声明变量?

原帖由 "assiss" 发表:
除了很古老的tc2.0,
别的编译器一般都支持在任何地方声明变量吧?

你说的非常不对。
只有支持 C99  的编译器才能这么做。
原帖由 "assiss" 发表:
当然在函数首部声明变量是一个好习惯..
准确的说,是在"{}"语句块中"{"出现的下一行声明变量,是一个好习惯.

这种语法 TC2 也支持的。

论坛徽章:
0
17 [报告]
发表于 2004-11-14 15:48 |只看该作者

c下不能随便在语句中声明变量?

是吗?这我倒不是很清楚了.
自TC2.0之后,再没接触过C89标准的纯C编译器了.
tc++3.0就支持在任何地方声明变量.不知道这是不是因为它把C当成C++来编译了.
VC6.0也可以在任何地方声明变量.可能它也是把C文件当成C++来编译了吧......
当年对IDE太过依赖了,结果根本不记得它们的实质了......
偏偏现在GCC支持绝大部分C99标准了,呵呵.也无法验证了....

也许是我把C和C++搞混了......

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
18 [报告]
发表于 2004-11-14 20:34 |只看该作者

c下不能随便在语句中声明变量?

原帖由 "assiss" 发表:
是吗?这我倒不是很清楚了.
自TC2.0之后,再没接触过C89标准的纯C编译器了.
tc++3.0就支持在任何地方声明变量.不知道这是不是因为它把C当成C++来编译了.
VC6.0也可以在任何地方声明变量.可能它也是把C文件当成C++来..........

对头!
        

论坛徽章:
0
19 [报告]
发表于 2004-12-26 20:01 |只看该作者

c下不能随便在语句中声明变量?

[quote]原帖由 "___"]3,4};[/quote 发表:


这可能是内存分配问题吧,
数组初始化时有分配内存,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP