如题,表示:不能将一个初始化列表转换成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;
}

全局变量的赋值问题参考该文。 //全局变量在函数外只能定义,初始化,不能赋值!

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐