【发布时间】:2021-12-09 15:05:19
【问题描述】:
我正在尝试学习 C 以应对挑战。我以前从未对低级编程语言感兴趣。我现在将在下面创建两个不同的代码块作为示例。我在这里遇到的问题与数组定义和生成有关。我对此真的很陌生,如果我犯了一个错误,你能以一种解释的方式指导我吗?
样本1
int main()
{
char first_name[] = "Joe";
printf("My name is %s\n", first_name);
}
样本2
int main()
{
char first_name[];
first_name = "Joe";
printf("My name is %s\n", first_name);
}
样本3
int main()
{
char first_name[];
first_name[] = "Joe";
printf("My name is %s\n", first_name);
}
只有 example1 正在运行。
我了解到,在 c 中我们可以先创建一个变量,然后通过定义它来使用它。但是当我尝试对数组执行此操作时,出现错误并且代码不起作用。这是什么原因?根本区别是什么?
【问题讨论】:
-
失败的是分配,而不是定义。您不能分配数组。您可以在定义它们时初始化它们(这是您的第一个示例所做的)。
-
我现在明白了。 C 真的很难(不同)。 JavaScript 之后听起来很不一样。我需要改变我的观点。总之,我认为这个问题的答案如下。 “它没有发生,因为它没有发生”