C - 数据无法分配给全局变量

时间:2013-02-27 23:59:36

标签: c

我有一个外部变量char myArr[3],我正在尝试为其分配一些东西。例如,在我的函数中,我有myArr[3] = {1,2,3}。编译器告诉我,我有“意外的令牌:=”,但只要我在本地声明我的变量(myArr[3] = {1,2,3}),错误就会消失。我尝试在我的函数中屏蔽外部变量而没有结果。

char myArr[3];

void my func(){
    myArr = {1,2,3}
}

1 个答案:

答案 0 :(得分:3)

当你这样做时

char myArr[3] = { 1, 2, 3}

您正在创建一个包含3个字符的数组,并将它们分别设置为值1,2和3。

当你这样做时

myArr[3] = { 1, 2, 3 }

你试图设置myArr[3](顺便说一下,这是三个字符数组中的第四个字符;你将“超出范围”)到{{1}这没有意义。在C中你不能像这样设置数组:这是一个语法错误。

如果要将数组设置为值1,2和3,请尝试:

{ 1, 2, 3 }