数组是如何在K&;中初始化的;R C?
在K&R C(第二)127p中 ANSI标准所做的主要更改是定义结构分配。结构可以复制并分配给函数,传递给函数,并由函数返回。大多数编译器多年来一直支持这一点,但现在已经精确定义了属性。自动结构和数组现在也可以初始化 “自动结构和数组现在也可以初始化”的含义是什么?我阅读。数组是如何在K&;中初始化的;R C?,c,initialization,kernighan-and-ritchie,C,Initialization,Kernighan And Ritchie,在K&R C(第二)127p中 ANSI标准所做的主要更改是定义结构分配。结构可以复制并分配给函数,传递给函数,并由函数返回。大多数编译器多年来一直支持这一点,但现在已经精确定义了属性。自动结构和数组现在也可以初始化 “自动结构和数组现在也可以初始化”的含义是什么?我阅读。 写在261p(附录C变更汇总部分) 可以初始化自动结构、联合和数组,尽管是以受限的方式 我得到以下代码是不允许在K&R C(第一) 那么,你能解释一下当时数组和结构是如何初始化的吗?把“自动”放在“全局”还是“现在被初始化”
写在261p(附录C变更汇总部分) 可以初始化自动结构、联合和数组,尽管是以受限的方式 我得到以下代码是不允许在K&R C(第一)
那么,你能解释一下当时数组和结构是如何初始化的吗?
把“自动”放在“全局”还是“现在被初始化”放在“无法初始化”有点混乱。据我所知,定义时的时间点初始化不允许用于结构,自动存储的联合和数组类型变量。必须使用单独的赋值语句为它们赋值。例如:
- 对于数组,它将在元素上循环并逐个赋值
- 对于结构,访问成员并分配它们
结构分配结构
指的是{1,2,3}
和{1,2}
<代码>可以初始化自动结构、联合和数组表示这些赋值结构可以用于数组(单词Automatic means)——这是块作用域变量的默认存储说明符。在,K&R C中,您可以使用int a[3]
声明数组,然后通过循环遍历索引并将值分配给每个索引来分配值,以便为聚合对象和并集添加新的初始值设定项。谢谢!
int main()
{
int a[3] = { 1, 2, 3 };
struct { int a; char b; } x = { 1, 2 };
}