arrays - 带有 C 的多维数组 - 变量未初始化
问题描述
我正在尝试为学生成绩做一个简单的二维数组,但它一直给我一个“变量未初始化”的错误。
#include <stdio.h>
int main()
{
int const rows = 3;
int const columns = 4;
int studentsGrades[rows][columns] = {
{1, 3, 4, 6},
{3, 2, 4, 5},
{32, 2, 4, 9}
};
return 0;
}
解决方案
在 C 语言中,不允许将初始化程序与 VLA 一起使用(您可以查看 C99 标准)。您可以使用memset
, 或#define
您的数组大小。
这有效:
#include <stdio.h>
#define rows 3
#define columns 4
int main(void)
{
int studentsGrades[rows][columns] = {
{1, 3, 4, 6},
{3, 2, 4, 5},
{32, 2, 4, 9}
};
return 0;
}
您可能还想查看这篇文章。
推荐阅读
- java - Spring缓存@CacheEvict匹配列表中的键?
- roblox - 动画脚本在 ReplicatedStorager 中不起作用
- virtualhost - 不能从浏览器访问端口 8080,即使它在 0.0.0.0 打开
- kdb - kdb+/q Pivot Table 将多列变成单列?
- python - 多行输入中的 IPython 控制台校正
- java - 使用 Homebrew 安装 OpenCV 时选择 Java 版本
- amazon-web-services - Lambda@Edge 和 AWS EC2 延迟比较
- amazon-web-services - VPC中的Web服务器,如何公开访问?
- python - 将文本列表转成 json 格式列表
- javascript - 用标签替换多次重复出现的 &&和 %%