我有一项作业要求我了解什么是 C 中的指定初始化器,以及用指定初始化器初始化变量的含义。
我不熟悉这个术语,也找不到任何结论性的定义。
什么是 C 中的指定初始化程序?
最佳答案
指定的初始化器有两种形式:
1) 它提供了一种快速初始化数组中特定元素的方法:
int foo[10] = { [3] = 1, [5] = 2 };
会将所有 foo
的元素设置为 0,除了索引 3 将设置为 1 和索引 5 将设置为 2。
2) 它提供了一种显式初始化struct
成员的方法。例如,对于
struct Foo { int a, b; };
你可以写
struct Foo foo { .a = 1, .b = 2 };
请注意,在这种情况下,未显式初始化的成员将被初始化,就好像该实例具有 static
持续时间一样。
两者都是标准 C,但请注意,C++ 两者都不支持(因为构造函数可以用该语言完成这项工作。)
关于c - 什么是 C 中的指定初始化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47202557/