Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是字符c[2]={[1]=7};做_C_Arrays_Initializer - Fatal编程技术网

什么是字符c[2]={[1]=7};做

什么是字符c[2]={[1]=7};做,c,arrays,initializer,C,Arrays,Initializer,我在读书,他在读书 代码是: char c[2] = { [1] = 7 }; Bruce对此的唯一评论是:“我不熟悉所使用的数组初始化语法-我假设它是某种纯C结构。”那么,这种语法实际上意味着什么呢?允许您以任何顺序指定数组的元素(如果您正在搜索它,它似乎被称为“指定的初始化器”)。因此,这个构造将7分配给c的第二个元素 这个表达式等价于charc[2]={0,7}不会为如此短的初始值设定项节省空间,但对于较大的稀疏数组非常有用 有关更多信息,请参阅本页: 它的意思是 char c[2]={

我在读书,他在读书

代码是:

char c[2] = { [1] = 7 };
Bruce对此的唯一评论是:“我不熟悉所使用的数组初始化语法-我假设它是某种纯C结构。”那么,这种语法实际上意味着什么呢?

允许您以任何顺序指定数组的元素(如果您正在搜索它,它似乎被称为“指定的初始化器”)。因此,这个构造将
7
分配给
c
的第二个元素

这个表达式等价于
charc[2]={0,7}
不会为如此短的初始值设定项节省空间,但对于较大的稀疏数组非常有用

有关更多信息,请参阅本页: 它的意思是

char c[2]={ 0, 7 }
或者你可以说

char c[2];
c[0]=0;
c[1]=7;

它等价于
charc[2]={0,7}但是指定的初始值设定项在长数组和结构的情况下非常方便。这是另一种可视化的简单方法,它。添加到答案中。为什么
NULL
,这是一个空指针常量?!您想使用
0
'\0'
初始化
char
。哦,我的意思是0x0它的nt null。您的第二个示例不是初始化器,而是运行时语句。它是为了解释它的功能