首页 > 解决方案 > 在C中创建数组时,为什么不能先创建再定义呢?

问题描述

我正在尝试学习 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 中我们可以先创建一个变量,然后通过定义它来使用它。但是当我尝试对数组执行此操作时,出现错误并且代码不起作用。这是什么原因?根本区别是什么?

标签: arrayscvariableschar

解决方案


第一点是你必须知道如何在 C 编程中声明和初始化数组。

Sample1:在这种情况下,您声明并初始化了数组 first_name;

Sample2 和 Sample2:您还没有声明和初始化数组 first_name;

结论:声明数组示例“type arrayName [arraySize];” 和初始化数组示例 double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0}; 或余额[4] = 50.0;


推荐阅读