arrays - 在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 中我们可以先创建一个变量,然后通过定义它来使用它。但是当我尝试对数组执行此操作时,出现错误并且代码不起作用。这是什么原因?根本区别是什么?
解决方案
第一点是你必须知道如何在 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;
推荐阅读
- php - 如何在订单电子邮件中添加产品的自定义属性(例如保质期)?(magento 2.3)
- c# - WebSocketClient ReceiveAsync 永远不会完成(单声道,Linux)
- java - 位置需要许可
- excel - 如何根据前一个单元格是否包含某些文本来更改单元格填充颜色?
- javascript - 如何使用纯 javascript 和 Jest 测试点击事件
- java - 通过 CrudRepository 使用 @Query 与 findAll() 哪个自定义查询更快?
- conan - XRlibrary 被另一个并发柯南进程锁定,等待...在 C++ 中
- java - 如何使用提供者注入集合
- c# - IoC - 使用注入的对象参数解析 WPF 窗口
- oauth-2.0 - 如何设置 Swashbuckle.AspNetCore 和 Oauth2