C结构数组初始化

2023-12-11

我有结构

struct ABC {
  int a; 
  int b;
}

和它的数组

struct ABC xyz[100];

我想初始化它 a = 10 和 b = 20;对于所有数组元素。

哪种方法更好?


虽然没有特别优雅的方式初始化在C语言中像这样的大数组是可能的。你do not必须在运行时执行此操作,正如一些答案错误地声称的那样。你呢不想要要在运行时执行此操作,假设数组是const?

我的方法是定义一些宏:

struct ABC {
  int a; 
  int b;
};

#define ABC_INIT_100 ABC_INIT_50 ABC_INIT_50
#define ABC_INIT_50  ABC_INIT_10 ABC_INIT_10 ABC_INIT_10 ABC_INIT_10 ABC_INIT_10
#define ABC_INIT_10  ABC_INIT_2 ABC_INIT_2 ABC_INIT_2 ABC_INIT_2 ABC_INIT_2
#define ABC_INIT_2   ABC_INIT_1 ABC_INIT_1
#define ABC_INIT_1   {10, 20},

int main()
{
  struct ABC xyz[100] =
  {
    ABC_INIT_100
  };
}

请注意,此类宏可以以任何方式组合,以进行任意数量的初始化。例如:

#define ABC_INIT_152 ABC_INIT_100 ABC_INIT_50 ABC_INIT_2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • C - 计算文件中的单词、字符和行数。字符数

    我必须用 C 编写一段代码 输出给定文件中的字符数 行数和单词数 任务看起来很简单 但我现在真的不确定出了什么问题 所以 这是代码 include
  • 将 ARGB 拆分为字节值

    我有一个 ARGB 值存储为 int 类型 它是通过调用 ToArgb 来存储的 我现在想要来自 int 值的各个颜色通道的字节值 例如 int mycolor 16744448 byte r g b a GetBytesFromColor
  • 如何创建语法突出显示文本框[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何使用 C Net 创建语法突出显示文本框 Take 闪烁网 http scintillanet codeplex com 并采取其
  • OpenCV SVM 给出奇怪的预测结果

    我对 OpenCV 和支持向量机都很陌生 我想使用 SVM 训练具有两个标签的数据集 然后预测给定集合的标签 我当前的集合包含大约 600 行 具有相等的类分布 1 为 300 行 1 为 300 行 包含 34 列 这是我当前用于设置 O
  • C++:字符串流有什么好处?

    谁能告诉我一些在 C 中使用字符串流的实际例子 即使用流插入和流提取运算符输入和输出到字符串流 您可以使用字符串流来转换任何实现operator lt lt 到一个字符串 include
  • .NET 中的 Class.forName() 等效项?

    动态获取对象类型然后创建它的新实例的 C 方法是什么 例如 如何在 C 中实现以下 Java 代码的结果 MyClass x MyClass Class forName classes MyChildClass newInstance Lo
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文
  • C 链表销毁函数

    我正在尝试学习 C 和很多人一样 我对指针有点困惑 无论如何 我创建了一个递归函数来销毁我的链表 但是正如我调试的那样 当我从函数返回时 列表的头部不应该为空 所以我猜这是对指针的一些基本误解 这是函数 void destroy struc
  • 如何在Unity Inspector中创建多维数组?

    如何在 Unity Inspector 中创建枚举多维数组并使其可序列化 以便我可以从不同的脚本调用它 public enum colors red blue green yellow cyan white purple public in
  • 编译器消息“警告:格式‘%s’需要类型‘char *’,但参数 2 具有类型‘char (*)’”

    我正在尝试运行一个简单的 C 程序 但收到此错误 警告 格式 s 需要类型 char 但参数 2 的类型为 char 20 我在跑步Mac OS X v10 8 https en wikipedia org wiki OS X Mounta
  • 使用 FromBase64Transform 解码 base64 文件流

    The example https msdn microsoft com en us library system security cryptography frombase64transform 28v vs 110 29 aspx从M
  • 如何将输出重定向到 boost 日志?

    我有一个使用boost log的C 程序 我加载了用户提供的动态链接库 我想将 stderr 重定向到 boost 日志 以便用户的库随时执行以下操作 std cerr lt lt Some stuff 它产生相同的结果 BOOST LOG
  • 解析连接字符串

    是否有标准库或代码片段可以使用这样的连接字符串获取值 string connstr DataServiceUrl http localhost foo RemoteServerConnection server http localhost
  • 为什么最小的 int -2147483648 的类型为“long”? [复制]

    这个问题在这里已经有答案了 对于一个学校项目 我必须编写 C 函数 printf 的代码 一切进展顺利 但有一个问题我找不到好的答案 所以我来了 printf PRINTF d t d n 2147483648 告诉我 gcc Werror
  • 我的代码哪里有泄漏?

    下面是我的代码 它打开一个 XML 文件 old xml 过滤无效字符并写入另一个 XML 文件 abc xml 最后 我将再次加载 XML abc xml 当执行以下行时 出现异常 表示 xml 文件被另一个进程使用 xDoc Load
  • 如何在 stl 模板中使用导出类 (__declspec(dllexport))?

    我正在使用导出的类 class declspec dllexport myclass private template declspec dllexport class std map
  • NSubstitute - 测试特定的 linq 表达式

    我在当前正在开发的 MVC 3 应用程序中使用存储库模式 我的存储库界面如下所示 public interface IRepository
  • 如何使用实体框架设置连接字符串

    我将 EF6 与 MySQL 结合使用 并有一个用于多个数据库的模型 我希望能够在我的表单中设置连接设置 如何以编程方式设置模型的连接字符串 你应该使用EntityConnectionFactory这就是您所需要的 public strin
  • 从其对象获取结构体字段的名称和类型

    例如 我有一个类似这样的结构 struct Test int i float f char ch 10 我有一个该结构的对象 例如 Test obj 现在 我想以编程方式获取字段名称和类型obj 是否可以 顺便说一句 这是 C 你正在要求C
  • 为什么 INT64_MIN 的定义不同?为什么他们的行为不同?

    The stdint h我公司的标题是 define INT64 MIN 9223372036854775808LL 但在我项目的一些代码中 一位程序员写道 undef INT64 MIN define INT64 MIN 92233720

随机推荐

  • UIAutomator 与 espresso 一起运行

    我目前正在测试一个应设置为默认启动器的应用程序 我已经有一套了Espresso测试正在运行 但仅当用户之前选择我的应用程序作为启动器时它们才有效 向用户显示的用于选择启动器的对话框无法通过Espresso 因为它位于应用程序本身之外 然而
  • 尝试对函数进行逆向工程

    我正在尝试更多地了解 x86 中的汇编 我这里有一个神秘的函数 我知道它返回一个int并采取int争论 所以看起来像int mystery int n 但是我无法弄清楚C 中的函数 大会是 mov edi eax lea 0x0 rdi 8
  • 从 java 调用 Google Cloud Run

    我想从外部应用程序调用 Cloud Run 外部应用程序是用 Kotlin java 编写的 并在 JDK 11 JVM 上运行 它使用服务帐户进行身份验证 ServiceAccountCredentials fromStream serv
  • 在模块 django.contrib.gis.db 中找不到 GeoManager。 Django 2.0 中的模型

    我正在开发 GeoDjango 项目 第一次在网络应用程序中工作 尝试使用 GeoManager 但弹出错误提示module django contrib gis db models has no attribute GeoManager
  • 如何在 PHP 中提取字符串的前 100 个字符

    我正在寻找一种方法 从字符串变量中提取前 100 个字符 放入另一个变量中进行打印 有没有一个函数可以轻松做到这一点 例如 string1 I am looking for a way to pull the first 100 chara
  • UITableView - 更改部分标题颜色

    如何更改 UITableView 中节标题的颜色 EDIT The DJ S提供的答案应考虑 iOS 6 及以上版本 接受的答案已过时 这是一个老问题 但我认为答案需要更新 此方法不涉及定义和创建您自己的自定义视图 在 iOS 6 及更高版
  • Codeigniter 选择具有多个 id 的数据

    这是我的代码的示例以及我想要做什么的解释 在代码的开头 我在数据库中选择三个变量 然后我将它们与确定距离的函数进行比较 如果距离在给定距离内 那么我就有了该记录的 ID 这将导致多个 id 可能是五个或没有 取决于给定的变量 我需要知道的是
  • 我如何在 php 中使用正则表达式匹配阿拉伯字母[重复]

    这个问题在这里已经有答案了 我如何在 php 中将阿拉伯字母与正则表达式匹配 My Code name GET name if arabic letters only and spaces using regexp 我想你的答案就在这里 根
  • 将字符串值发送到 Angular 2 中 url 导航上的组件

    当我使用 router navigate 方法时 我需要一些帮助来将字符串 bookingNumber 传递给组件 现在 我有一个名为 bookingsService 的服务 它有一个类似以下代码的方法 redirectToBookingP
  • 鸟瞰图或地图 2.5D 渲染存在问题

    我正在开发一个路线规划导航软件 我正在使用以下解决方案将我的道路线变成 2 5D 或 3D 视图 使用 C 从线条绘制 2 5D 或 3D 地图 然而 上面的解决方案对于视口内 0 height 或 x gt width 然后上述解决方案变
  • 为什么读会阻塞管道直到写端关闭?

    我正在努力增强我对相关事物的理解fork exec dup 并重定向stdin stdout stderr通过编写以下内容popen 类型函数 main c include
  • 通过 FileProvider 和 Intent 将缓存文件附加到 GMail 不起作用

    因此 在过去的一天里 我一直在用头撞墙 试图找出为什么文件无法附加到电子邮件中 每次应用程序运行时 我都会收到一条弹出的小消息 提示 无法附加文件 收件人和主题字段的填写正如我所期望的那样 第一个问题是 如何找到此错误背后的更多信息 此消息
  • DateTickUnit 文档在哪里?

    我需要更改 TimeseriesChart 不同缩放级别的默认 DateTickUnit 设置 但在文档中找不到我需要阅读的位置 我将非常感谢您的指点 以下是 TimeSeriesChartDemo1 的 Java API http www
  • Visual Studio 2015 IntelliSense 不显示所有方法

    我最近从 2013 升级到 Visual Studio 2015 因为出于某种原因 即使在多次安装尝试之后 2013 也无法在 Windows 10 上运行 The only issue is IntelliSense is not dis
  • 使用命令行上传到 iTunesConnect 时如何指定应用程序 ID

    Summary 我正在尝试将我的应用程序自动上传到 iTunes Connect 我至少有 6 个应用程序 并且全部都处于 准备上传 状态 问题是当我尝试使用命令行将应用程序上传到 iTunesConnect 时 出现以下错误消息 警告 i
  • Oracle聚合函数返回一组随机值?

    标准 SQL 聚合函数max 将返回一组中的最高值 min 将返回最低的 Oracle中是否有聚合函数可以从组中返回随机值 或者某种技术来实现这一目标 例如 给定表foo group id value 1 1 1 5 1 9 2 2 2 4
  • 返回 n 中 k 个元素的所有组合的算法

    我想编写一个函数 它接受一个字母数组作为参数 并选择其中的一些字母 假设您提供一个包含 8 个字母的数组 并希望从中选择 3 个字母 那么你应该得到 8 8 3 3 56 返回数组 或单词 每个数组由 3 个字母组成 计算机编程艺术第 4
  • VirtualWebappLoader 或类似的WebLogic 将目录添加到war 的类路径中?

    如何在部署到 WebLogic 的 war 的类路径上提供外部目录 将在其中部署其他 jar 我熟悉如何通过定义一个在 Tomcat 上执行此操作Loadercontext xml 中的元素并包括virtualClasspath指定的属性A
  • 底层连接已被 linkedin 关闭

    我们有一个使用 Net Framework 4 6 1 运行的应用程序 可以访问 Linkedin 调用端点 https www linkedin com oauth v2 accessToken 它一直工作到 2020 年 7 月 14
  • C结构数组初始化

    我有结构 struct ABC int a int b 和它的数组 struct ABC xyz 100 我想初始化它 a 10 和 b 20 对于所有数组元素 哪种方法更好 虽然没有特别优雅的方式初始化在C语言中像这样的大数组是可能的 你