gpt4 book ai didi

c - 冗余或良好实践 - 结构

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

我今天的问题是关于编程的便利性和效率的平衡问题之一,更具体地说是关于结构的使用。

“结构是一个或多个变量的集合,这些变量可能属于不同类型,它们以一个名称组合在一起以便于处理。”

此摘录与以下基本示例一起可在“The C Programming Language”中找到:

struct point { 
int x;
int y;
};

struct rect { 
struct point pt1;
struct point pt2;
};

到目前为止一切顺利。

我开始编写一个计算线性方程的程序,结果是这样的:

typedef struct point { double x; double y; } point;

typedef struct linearEquation { double mx; double b; } linearEquation;

point 和 linearEquation 具有完全相同的变量,两个 double 。

所以问题是:这些是多余的吗?一个结构是否为两者服务?还是为了可读性而保留它?考虑到函数需要特定的参数并具有特定的返回类型。

例如,我可以用类似的东西替换每一个:

typedef struct twoDs { double a; double b; } twoDs;

你会如何处理?

最佳答案

如果您曾经编写过任何严肃的代码,您应该始终保持不同的类型。它提高了可读性和可维护性,并且编译器能够告诉您错误的分配。

类型化语言的整个概念都是关于这个的——毕竟,它只是内存中的字节,所以你也可以不使用任何类型,直接对字节进行寻址。这可能行得通,但最终会导致不可读性和维护方面的噩梦。

关于c - 冗余或良好实践 - 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50317346/

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