c - 从函数初始化 C 中的全局二维数组

标签 c arrays multidimensional-array

float verticies[14][3];

init_mod(){

verticies = {{-0.5,-0.5, 0.5},
    { 0.5,-0.5, 0.5},
    {-0.5, 0.5, 0.5},
    { 0.5, 0.5, 0.5},
    {-0.5, 0.5,-0.5},
    { 0.5, 0.5,-0.5},
    {-0.5,-0.5,-0.5},
    { 0.5,-0.5,-0.5},
    { 0.5, 0.5, 0.5},
    { 0.5,-0.5, 0.5},
    {-0.5,-0.5,-0.5},
    {-0.5,-0.5, 0.5},
    {-0.5, 0.5,-0.5},
    {-0.5, 0.5, 0.5}};
}

当我编译程序时出现这个错误:

topsecret.c: In function ‘init_mod’:
topsecret.c:12:14: error: expected expression before ‘{’ token

最佳答案

您使用的语法只允许用于初始化;作业不允许这样做。

将它移动到全局数组的声明中将解决问题:

float verticies[14][3] =
    {{-0.5,-0.5, 0.5},
    { 0.5,-0.5, 0.5},
    {-0.5, 0.5, 0.5},
    { 0.5, 0.5, 0.5},
    {-0.5, 0.5,-0.5},
    { 0.5, 0.5,-0.5},
    {-0.5,-0.5,-0.5},
    { 0.5,-0.5,-0.5},
    { 0.5, 0.5, 0.5},
    { 0.5,-0.5, 0.5},
    {-0.5,-0.5,-0.5},
    {-0.5,-0.5, 0.5},
    {-0.5, 0.5,-0.5},
    {-0.5, 0.5, 0.5}};

如果以后需要重新分配数组,可以在函数内部初始化一个临时"template"数组,然后使用memcpy 将其内容放入全局数组。

关于c - 从函数初始化 C 中的全局二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22101182/

相关文章:

c++ - 如何为 native 代码库 (C/C++) 编写我自己的 Javascript API(客户端)

c - 如何对这种风格的函数定义进行 clang 格式

c - 具有不同语义的函数调用

javascript - 更有效的方式搜索数组中的多个对象

python - 从 python 数组中获取高阶字节

c - getchar() 的 getc 文件中是否有等效的 fseek 和 ftell?

java - 如何将字符串放入对象数组中?

vue.js - 深度嵌套数组的 b 表项

python - 如何定义一个二维数组?

javascript - 如何在javascript中访问多维对象?