gpt4 book ai didi

c - 使用指针表示法初始化数组

转载 作者:行者123 更新时间:2023-11-30 19:36:21 25 4
gpt4 key购买 nike

是否可以使用另一个数组的指针表示法来初始化数组?

澄清一下,如果可以使用 sizeof(*table) 返回行的大小,为什么不能分配特定表的行?有没有办法使用 double table2[3] = *table;仅将表的第一行分配给 table2。

#include <stdio.h>

int main()
{
double table[2][3] = {{1.1, 1.2, 1.3},{2.1, 2.2, 2.3}};
double table2[2][3]=table;

// initial variant was double table2[3]=*table;
}

最佳答案

Is it possible to initialize an array using pointer notation from another array?

不,事实并非如此。标准规定

[...] the initializer for an object that has aggregate or union type shall be a brace-enclosed list of initializers for the elements or named members.

(C2011,6.7.9/16)

此外,请注意,这样的初始值设定项不是数组文字(它们的形式略有不同,并且不允许作为数组初始值设定项),并且尽管数组和指针具有紧密的关联,它们是完全不同的东西。您不能在任何地方将指针(或其他任何东西)分配给整个数组。

关于c - 使用指针表示法初始化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41000015/

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