我在网页上看到我们可以这样做:
int k = {5};
当我自己尝试时,我发现这在 C 编程中有效,k
的值为 5
。
- q1:为什么我们可以将整数数组(即使只有一个元素)赋值给整数类型的变量,应该不会有一些错误吗?
- q2:这种类型的赋值是用来做什么的? (在什么情况下以及为什么我们使用它或者我们可能不再使用它?)
最佳答案
没有数组,C 语法允许这样做。这两个是等价的:
int k = 5;
int k = {5};
如初始化语法规则所示1,
initializer 可以是赋值表达式,对应于:
int k = 5;
初始化器也可以是一个{initializer-list},它可以是一个初始化器,它可以是一个赋值表达式:
int k = {5};
1(引自 ISO/IEC 9899:201x 6.7.9 初始化语法 1。)
初始值设定项:
赋值表达式
{ 初始化列表 }
{ 初始化列表 , }
初始化列表:
指定选择初始化器
initializer-list , 指定 opt initializer
关于c - 将一个int数组(只有一个元素)分配给c中的一个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39161769/