gpt4 book ai didi

c - 可以在 C 中声明后初始化数组吗?

转载 作者:太空狗 更新时间:2023-10-29 16:23:26 27 4
gpt4 key购买 nike

有没有办法在实际初始化变量之前声明这样的变量?

    CGFloat components[8] = {
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.15
};

我希望它像这样声明(除非这不起作用):

    CGFloat components[8];
components[8] = {
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.15
};

最佳答案

你不能给数组赋值,所以基本上你不能做你建议的,但在 C99 中你可以这样做:

CGFloat *components;
components = (CGFloat [8]) {
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.15
};

( ){ } 运算符称为复合文字 运算符。这是一个 C99 特性。

请注意,在此示例中,components 被声明为指针而不是数组。

关于c - 可以在 C 中声明后初始化数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8886375/

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