Mon*_*Das 0 c arrays pointers static-initialization turbo-c
我在初始化整数指针数组时遇到错误.虽然问题看起来很简单,但我无法理解这有什么问题.我是C编程的新手.
C90标准说(§6.5.7):
具有静态存储持续时间的对象的初始值设定项中的所有表达式或具有聚合或联合类型的对象的初始化列表中的所有表达式都应为常量表达式.
在上下文中,p'具有聚合类型',并且数组元素的地址a不是常量,因此C90表示不允许初始化.这就是您的编译器拒绝该代码的原因.
C99放松了这种限制.相应的段落(§6.7.84)说:
具有静态存储持续时间的对象的初始化程序中的所有表达式应为常量表达式或字符串文字.
帮自己一个忙,并获得一个可以追溯到当前千年的编译器 - 如果可能的话,应该是一个实现C11的编译器.
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |