c - 将数组及其长度变量包装在 C 的结构中是最佳实践吗?

标签 c arrays struct word-wrap

我很快将开始在操作系统类(class)中使用 C,并且我正在阅读有关使用 C 的最佳实践,以便以后减少麻烦。

这一直是我关于数组的第一个问题,因为它们很容易搞砸。

将数组及其包含它的长度的关联变量捆绑在一个结构中是一种常见的做法吗?

我从来没有在书上见过它,通常他们总是将两者分开或使用类似 sizeof(array[]/array[1]) 之类的东西。

但是通过将两者包装到一个结构中,您将能够按值和按引用传递结构,除非使用指针,否则您不能真正使用数组,在这种情况下,您必须再次跟踪数组长度。

我开始使用 C,所以上面的内容可能是非常错误的,我还是个学生。

干杯, 启。

最佳答案

是的,这是 C 中的一个很好的做法。将相关值包装到包含结构中是完全合乎逻辑的。

我会走得更远。永远不要直接修改这些值也可以满足您的目的。而是编写将这些值作为一对作用于结构内的函数,以更改长度和更改数据。这样你就可以添加不变检查,也可以很容易地进行测试。

关于c - 将数组及其长度变量包装在 C 的结构中是最佳实践吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/662133/

相关文章:

C - 从字符串转换为无符号整数

c - Fortran 到 C 的翻译 - 神秘的除以一

使用 JSON 从 MYSQL 到 Javascript 对象的 PHP 数组

无法弄清楚为什么 C 中的循环在第一个浮点值处停止

java - 为什么将 {a, b, c} 传递给方法不起作用?

C++ [] 映射,可能通过模板

c - Linux 内核 : why do 'subclass' structs put base class info at end?

c - GTK:将函数调用委托(delegate)给主线程

C++ 将结构从一个类传递到另一个类

将 void 指针转换为结构指针(在函数调用中)