C - 无法将数据分配给全局变量
我有一个外部变量char myArr[3]
,我试图给它分配一些东西。例如,在我的函数中,我有myArr[3] = {1,2,3}
。编译器告诉我,我有“意外的标记:=”,但只要我在本地声明了我的变量(myArr[3] = {1,2,3}
),错误就会消失。我试图掩盖我的函数内部的外部变量,但没有结果。C - 无法将数据分配给全局变量
char myArr[3];
void my func(){
myArr = {1,2,3}
}
当你
char myArr[3] = { 1, 2, 3}
您正在创建的3个字符数组,并分别将它们设定为值1,2和3。
当你
myArr[3] = { 1, 2, 3 }
您要设置myArr[3]
(这是由方式的三个字符数组第四性格;你要“出界”)来{ 1, 2, 3 }
哪些没有意义。在C中,你不能像这样设置数组:这是一个语法错误。
如果你想你的阵列设置为值1,2和3试试这个:
myArr[0] = 1;
myArr[1] = 2;
myArr[2] = 3;
啊哈!我不知道我在想什么。漫长的一天人..漫长的一天! – 2013-02-28 00:09:22
我不明白 - 你能证明你做了什么吗? – 2013-02-28 00:14:08
声明一个局部变量,并在我的函数结束,使我的全球=我的本地。例如,如果我在我的函数中执行了char myLocalArr [3],然后myArr = myLocalArr。我仍然会得到一个错误 – 2013-02-28 00:15:02
您要设置一个字符数组。 – Dmitry 2013-02-28 00:00:54
请发布真实的代码。 (你是否缺少分号?) – wildplasser 2013-02-28 00:01:18
@Dmitry它只是一个字符数组。只要我在本地执行,错误消失 – 2013-02-28 00:01:40