首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C语言数组初始化有没有办法挟制所有成员都初始化

2013-12-13 
C语言数组初始化有没有办法强制所有成员都初始化比如在一个头文件里面#define N 3在源文件里面int a[N]{1

C语言数组初始化有没有办法强制所有成员都初始化
比如
在一个头文件里面
#define N 3
在源文件里面
int a[N]={1,2,3};
这时候如果把N改成5,后面的a[N]那部分又忘记加上,a[3]跟a[4]就初始化成0了,
有没有办法在初始化那里加个什么标记,当N跟后面元素的个数不相等的时候强制报个错?
[解决办法]
首先不建议用宏,其次你的初始化的代码并不是general,病根在初始化的方式上,而不应该让编译器帮你做这些杂事
[解决办法]

int a[]={ 1, 2, 3 };
const int N = sizeof( a ) / sizeof( a[ 0 ] );

热点排行