我有一堆不同长度的数组,我想让长度接近数组,定义这样的东西是不是不好的编程习惯?
typedef struct Array {
long len;
int* buf;
} Array;
这有什么明显的缺点或陷阱吗?
最佳答案
不,不一定。您将需要使用指针传递缓冲区的长度,以确保您不会超出它。由于额外的取消引用,这将对性能造成轻微影响,但如果始终具有可用长度可以避免导致错误,那么这可能是一个值得的权衡。您需要确保在调整缓冲区大小时更新长度,并确保在释放结构时释放缓冲区。除此之外,这对我来说很有意义,这也是许多其他高级语言在其数组实现中所做的事情。
关于c - 在 C 语言中声明数组类型是否是错误的编程习惯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56963030/