请教标准C编程,关于数组定义的问题

[复制链接]
2297|3
 楼主| newdsd 发表于 2007-5-28 16:51 | 显示全部楼层 |阅读模式
菜鸟请问,以下两种定义数组元素个数的方法可不可行?<br />1#<br />void&nbsp;test(int&nbsp;X,int&nbsp;Y)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;char&nbsp;data[X*Y];<br />.....}<br /><br />2#<br />#define&nbsp;a&nbsp;2<br />#define&nbsp;b&nbsp;3<br />void&nbsp;test(int&nbsp;X,int&nbsp;Y)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;char&nbsp;data[a*b];<br />.....}<br /><br /><br />谢谢解答!<br />
rockos 发表于 2007-5-28 17:06 | 显示全部楼层

re

<br />问题1#是C99的标准规定的,叫“动态数组”,现在的大部分编译器都不支持这个特性<br /><br />问题2#在C89/C90标准中就有,常见的编译器都支持
high 发表于 2007-5-28 17:11 | 显示全部楼层

1不行

动态分配内存使用malloc(),free().在heap里面分配
 楼主| newdsd 发表于 2007-5-28 18:32 | 显示全部楼层

谢谢楼上两位的解答!

非常感谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

34

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部