C 在结构体中初始化数组

2024-02-15

我想要在结构中包含一个可变长度数组,但在正确初始化它时遇到问题。

struct Grid {
  int rows;
  int cols;
  int grid[];
}

int main() {
  struct Grid testgrid = {1, 3, {4, 5, 6}};
}

我尝试的所有操作都会出现“错误:灵活数组成员的非静态初始化”错误。


这是我的版本:

#include <stdio.h> 

struct matrix {
  int rows;
  int cols;
  int **val;
} a = {        .rows=3,  .cols=1,
        .val = (int*[3]){ (int[1]){1},
                          (int[1]){2},
                          (int[1]){3} } },

  b = {        .rows=3,  .cols=4,
        .val = (int*[3]){ (int[4]){1, 2, 3, 4},
                          (int[4]){5, 6, 7, 8},
                          (int[4]){9,10,11,12} } };

void print_matrix( char *name, struct matrix *m ){
  for( int row=0;row<m->rows;row++ )
    for( int col=0;col<m->cols;col++ )
      printf( "%s[%i][%i]: %i\n", name, row, col, m->val[row][col] );
  puts("");
}

int main(){
  print_matrix( "a", &a; );
  print_matrix( "b", &b; );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C 在结构体中初始化数组 的相关文章

  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List
  • 如何将 PostgreSql 与 EntityFramework 6.0.2 集成? [复制]

    这个问题在这里已经有答案了 我收到以下错误 实体框架提供程序类型的 实例 成员 Npgsql NpgsqlServices Npgsql 版本 2 0 14 2 文化 中性 PublicKeyToken 5d8b90d52f46fda7 没

随机推荐

  • 当当前输入有值时如何前进到下一个表单输入?

    我有一个包含很多条目的表格 在当前文本框中输入值后 我想将焦点更改为下一个文本框 并希望继续此过程直到最后一个字段 我的问题是 一旦我在文本框中输入值 是否可以通过 JavaScript 编码模拟按 Tab 键时发生的情况 在不按键盘上的
  • [innerHTML] 内的 Angular routerLink

    我一直在寻找一种方法 使标准 a href 链接在动态加载到 innerHTML 中时能够像 routerLinks 一样工作 它似乎不是标准的东西 我找不到任何可以满足我需要的东西 我有一个可行的解决方案 但想知道是否有人知道更好的方法来
  • 定义 XML 架构 (XSD) 时“选择”“组”元素是否有效

    定义 XML 架构 XSD 时 选择 组 元素是否有效 即以下有效
  • Google Hangouts API:我可以发起“直播”环聊吗?

    有没有办法通过 API 发起 直播 环聊 我已经创建了我的应用程序并且运行良好 但是我需要为我的客户提供环聊的嵌入代码 我似乎找不到任何有关如何通过环聊按钮启动此类环聊的文档 https developers google com hang
  • 如何快速获取本周星期一的日期

    我正在尝试获取本周星期一的日期 在我的表格视图中 这被视为一周的第一天 我还需要获取本周的星期日 在我的表视图中 这被视为一周的最后一天 目前的尝试 let date NSDate let calendar NSCalendar curre
  • 当找到预期结果时是否可以从 lambda 中中断

    我是Python新手 刚刚对Lambda表达式非常感兴趣 我遇到的问题是使用 lambda 过滤器从元素列表中找到一个且仅有一个目标元素 理论上 当找到目标元素时 就没有再继续下去的意义了 With for loop这很简单break循环
  • jQuery Jcrop setSelect 直观显示,但是点击移动时会跳转

    我正在使用 jQuery 插件 Jcrop 我对名为 setSelect 的初始设置之一有疑问 该属性接受一个包含两组 x 和 y 坐标 左上角和右下角 的数组 img src blah
  • 如何让输出显示在 Visual Studio 2005 错误列表的“消息”窗格中?

    我有一个像这样的头文件 ifndef GEN NOTE MARKERS TO DEVELOPERS HPP define GEN NOTE MARKERS TO DEVELOPERS HPP ifdef DEBUG macros for t
  • 如何在 DRF 中序列化通用外键

    我有带有通用外键的模型 我想序列化该模型 model py class AddressType models Model content type models ForeignKey ContentType object id models
  • 使用调试器 gdb 时未知的结束信号

    我已经在 Mac OS X 上安装了 GDB 为了测试它是否有效 我使用了以下 C 程序 include
  • 为所有实体设置默认分配大小?

    我想将默认设置为 50 的默认 AllocationSize 设置为另一个值 有没有办法做到这一点 我更喜欢使用默认的 JPA 来执行此操作 但 Eclipselink 也可以 我不想在我使用的每个实体中指定分配大小 TableGenera
  • 如何使用 AntiXss 库正确清理内容?

    我有一个简单的论坛应用程序 当有人发布任何内容时 我会 post Content Sanitizer GetSafeHtml post Content 现在 我不确定我是否做错了什么 或者发生了什么 但它不允许几乎没有 html 甚至简单
  • System.Data.SqlClient.SqlException:“关键字“Table”附近的语法不正确。”

    我正在尝试使用 Windows 窗体 C 创建一个登录系统 但它给了我一个错误 我正在使用 MySQL 数据库和来自 youtube 的教程 我不知道出了什么错误 该项目包含三个表单 登录表单 注册表单和主程序表单 using System
  • 设置带有条件的标题属性并使用角度翻译

    我在某些条件下使用标题属性 我的代码是 li title span pack details span li 当管理员为真时 它会显示购买许可证包 但是如何使用翻译过滤器将 1 变为 i18n 键 我试过这个 li title span p
  • 无法使用 Azure DevOps Pull 请求对构建错误进行排队

    我想在拉取请求开始合并之前触发构建 在 Azure DevOps 中 对于此选项 我在分支策略下添加了构建验证 但是 如果我创建了一个新的拉取请求 我会收到 无法对构建进行排队 的消息 请任何人告诉我我选择的选项解决了我的要求 如果是 如何
  • 使用node js从ftp站点下载多个文件

    我正在尝试从根文件夹下载 ftp 服务器上的每个文件 我所做的是这样的 ftpClient ls function err res res forEach function file console log file name ftpCli
  • matplotlib 刻度厚度

    有没有一种方法可以增加 matplotlib 中刻度的厚度和大小 而不必编写如下长段代码 for line in ax1 yaxis get ticklines line set markersize 25 line set markere
  • 如何将公式转换为析取范式?

    说给定一个公式 t1 gt 2 或 t2 gt 3 且 t3 gt 1 我希望得到它的析取范式 t1 gt 2 且 t3 gt 1 或 t2 gt 3 且 t3 gt 1 在Z3中如何实现这一点 Z3没有将公式转换为DNF的API或策略 然
  • 使用 python 访问 HDInsight Hive

    我们有一个 HDInsight 集群 其中包含 HIVE 中的一些表 我想从客户端计算机 Azure 外部 的 Python 3 6 查询这些表 我尝试过使用PyHive pyhs2并且impyla但我遇到了所有这些问题 有没有人有一个访问
  • C 在结构体中初始化数组

    我想要在结构中包含一个可变长度数组 但在正确初始化它时遇到问题 struct Grid int rows int cols int grid int main struct Grid testgrid 1 3 4 5 6 我尝试的所有操作都