gpt4 book ai didi

c - 返回结构数组或结构指针数组?

转载 作者:太空狗 更新时间:2023-10-29 17:01:11 25 4
gpt4 key购买 nike

如果您需要从函数返回一个struct,您通常会返回一个指向struct 的指针。

如果您随后想要返回一个结构数组,是否建议:

  1. 返回一个结构数组(指向第一个元素的指针)
  2. 或者返回一个结构指针数组?

我已经为下面的两个选项画了一个图表:

1:

enter image description here

2:

enter image description here

给定以下结构定义

struct values {
int a;
int b;
};

下面是一些示例代码,用于从两个选项访问结构的字段:

选项#1:

 struct values *vals = get_values1();
printf("%d, %d\n", values[0].a, values[1].b);

选项#2:

 struct values **vals = get_values2();
printf("%d, %d\n", values[0]->a, values[1]->b);

最佳答案

我看到不使用版本 1 的唯一问题是,在第二个版本中识别结构(返回)的数量可能更容易,因为 NULL 指针可以用作stopper 元素,而在第一个版本中可能无法定义 stopper 元素。

关于c - 返回结构数组或结构指针数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17992525/

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