gpt4 book ai didi

c - 数组初始化 C

转载 作者:太空狗 更新时间:2023-10-29 15:45:58 25 4
gpt4 key购买 nike

这个初始化是什么意思:

char arr[10] = { 0, };

我熟悉 char arr[10] = {0}; 它将所有元素设置为零,并且 char arr[10] = {1,2}; 将前两个元素设置为 1 和 2 (ascii),将其余元素设置为 0。我不熟悉上面的格式。快速测试表明它可能就像 char arr[10] = {0};,但还有其他我不知道的含义吗?

最佳答案

来自 How to initialize all members of an array to the same value? :

将所有成员初始化为相同的值:

int myArray[10] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 };

缺失值的元素会被初始化为0:

int myArray[10] = { 1, 2 }; //initialize to 1,2,0,0,0...

所以这会将所有元素初始化为 0:

int myArray[10] = { 0 }; //all elements 0

在 C++ 中,一个空的初始化列表也会将每个元素初始化为 0:

int myArray[10] = {}; //all elements 0 in C++

如果没有指定初始化器,具有静态存储持续时间的对象将初始化为 0:

static int myArray[10]; //all elements 0

如果您的编译器是 GCC,您可以使用以下语法:

int array[1024] = {[0 ... 1023] = 5};
int A[10] = {[0 ... 4] = 5, [5 ... 9] = 3};

关于c - 数组初始化 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16414622/

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