小编Sco*_*ott的帖子

在C中初始化全局结构

在C中完成以下操作的最佳方法是什么?

#include <stdio.h>

struct A
{
    int x;
};

struct A createA(int x)
{
    struct A a;
    a.x = x;
    return a;
}

struct A a = createA(42);

int main(int argc, char** argv)
{
    printf("%d\n", a.x);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译上面的代码时,编译器报告以下错误:

"初始化元素不是常数"

糟糕的是这一行:

struct A a = createA(42);
Run Code Online (Sandbox Code Playgroud)

有人可以解释什么是错的吗?我不是很有经验C.谢谢!

c struct initialization constants

16
推荐指数
3
解决办法
5万
查看次数

标签 统计

c ×1

constants ×1

initialization ×1

struct ×1