c - 如何将结构中的所有数据存储到新数组中?

标签 c arrays struct

我正在用 C 语言编程并且我有这个结构。

struct value
{
    unsigned char time[18];
    unsigned char date[18];
    unsigned char number[18];
} entry;

现在我想将所有数据从那里存储到我想存储的数组 a[54]

a[0] = entry.time[0];
a[1] = entry.date[0];
a[2] = entry.number[0];

这样做的最佳方法是什么? 除了 for 循环。

这些元素将如何存储在内存中,是否有更好的方法使用指针访问它们?

最佳答案

嗯,这很简单。

for (i = 0; i < 18; i++)
{
    a[i*3] = entry.time[i];
    a[i*3 + 1] = entry.date[i];
    a[i*3 + 2] = entry.number[i];
}

关于c - 如何将结构中的所有数据存储到新数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22559569/

相关文章:

c - 释放指针和将其分配给 NULL 有什么区别?

c - 关于二维数组的一些事

go - 在go中导入struct,得到 "not a type"错误

c - 结构填充和包装

c# - 从 linux C 到 Windows C# 的套接字问题

c - 如果标准输入是文件,main 的 char *argv[] 不包含参数

c++ - 数组中不同数量的字符串

php - 如何为数组中的每个元素调用相同的函数?

java - 我无法打印我的数组

c - 在Linux中使用C读取文件时出现段错误