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