如题,表示:不能将一个初始化列表转换成int类型。
//test.h
#ifndef TEST_H
#define TEST_H
int value[10];
#endif // TEST_H
//main.c
#include "test.h"
int main(int argc, char *argv[])
{
value[10]={1,2,3};
return 0;
}
运行结果:
原因:数组定义与初始化分开时,只能进行单个元素的赋值,而不能进行统一赋值。
ps: value[10],表示的是数据的第10个元素,而不是整个数组,当然会报错了。(汗。。)
改正:
#include "test.h"
int main(int argc, char *argv[])
{
value[0] = 1;
value[1] = 2;
value[2] = 3;
return 0;
}
全局变量的赋值问题参考该文。 //全局变量在函数外只能定义,初始化,不能赋值!