gpt4 book ai didi

c - 如何在C中将一维数组设置为二维数组元素

转载 作者:行者123 更新时间:2023-11-30 15:49:03 24 4
gpt4 key购买 nike

我需要这样的东西:

char font[128][8] = {{0}};

font[0][] = {0, 0b00000000, 0b11111100, 0b00010010, 0b00010010, 0b11111100, 0b00000000, 0};
font[1][] = {...}

但是在 c99 中我得到“'{' 标记之前的预期表达式”。请帮忙。

最佳答案

声明数组时只能使用初始化列表 ({...}),这就是您收到错误的原因。您无法将值分配给数组,这就是 font[0] 的含义(char[])。

您有 3 个选择:


  • char font[128][8] = {
    {0, 0b00000000, 0b11111100, 0b00010010, 0b00010010, 0b11111100, 0b00000000, 0};
    {...}
    }
  • 将每个值分别分配给数组中的一个元素:font[0][0] = x, ..., font[127][7] = y (即使用循环)。

  • memcpy 一次从 uint64_t (sizeof(font[0]) = 8) 或其他地方阻塞您可以整齐/高效地存储数据。

可能还值得注意的是,二进制常量是 C 扩展, 并且 char 是有符号的 ,如果您正在使用无符号数据,您可能应该显式使用 无符号字符

关于c - 如何在C中将一维数组设置为二维数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16460332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com