gpt4 book ai didi

c - 是否对相同的基元使用 struct

转载 作者:太空宇宙 更新时间:2023-11-04 01:32:05 25 4
gpt4 key购买 nike

我想知道什么时候需要在 c 中使用结构体?

更准确地说 - 如果我有以下原始数据类型 - 最好的解决方案是什么

1) 只需在实际函数中声明和初始化这些原始数据类型

2) 在结构中声明这些变量,然后在实际函数中初始化它们。

我正在编写一个程序,我需要计算累积分布函数 (CDF) 的某些值,一种方法是生成多项式近似值。为此需要以下值:

k = 1 / (1 + yx)
y = 0.33267
a1 = 0.4361836
a2 = -0.1201676
a3 = 0.9372980

我已经声明并初始化了这些值,如下所示:

    double k = 0;
double y = 0.2316419;
double a1 = 0.319381530;
double a2 = -0.356563782;
double a3 = 1.781477937;

我的问题可能听起来有点傻——问题是我是否应该将这些值放在结​​构中?

在头文件中:

 struct cdf {
double k;
double y;
double a1;
double a2;
double a3;
};

typedef struct cdf Cdf;

然后我可以通过

获取这些数据类型
 cdf.k

例如

那么 - 如果我将属于同一结构的变量组合在一起,是否会使我的程序更具可读性,还是完全没有必要?所有基元都是double类型那么为什么要把它们放在一个结构中呢?

最佳答案

在以下情况下,结构将是有利的:

  • ... 在多个地方使用了同一组参数。在这种情况下,将它们定义为 struct 可以节省输入。

  • ... 这组参数需要从一个地方传递到另一个地方。在那种情况下,struct 将值整齐地组合在一起,并清楚地表明所有值都属于一起并形成一个连贯的数据 block 。

如果这些值只在一个地方使用,我个人不会费心去创建一个struct,尽管这样做不会有任何坏处(它不会让你的代码变慢或任何东西)。

关于c - 是否对相同的基元使用 struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20806364/

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