【发布时间】:2013-01-02 00:03:58
【问题描述】:
考虑下面的代码。
char message[]="foo";
void main(void){
message[] = "bar";
}
为什么 MPLAB IDE v8.63 中存在语法错误?我只是想改变字符数组的值。
【问题讨论】:
-
语法错误是编译错误,不是运行时错误,所以这与修改你的char数组无关。你不能写
message[] = "bar";,括号之间没有任何内容。它适用于char message[] = "foo";,因为您声明char message[]然后它分配为message = "foo"; -
感谢您的帮助。我想知道为字符数组分配新值的正确方法。谢谢。
-
正如我所说的
message = "foo";是正确的 -
在继续处理字符串之前,了解数组和指针的工作原理非常重要。
-
和一般的内存管理
标签: c arrays memory-management compiler-errors mplab