我今天的问题是关于编程的便利性和效率的平衡问题之一,更具体地说是关于结构的使用。
“结构是一个或多个变量的集合,这些变量可能属于不同类型,它们以一个名称组合在一起以便于处理。”
此摘录与以下基本示例一起可在“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/