问题描述
|
解决方法
假设cycle-> read_events是一个指针或数组,它们在语言中是相同的,并且将以相同的方式进行编译。
但是,我更喜欢
&cycle->read_events[i]
,因为有一天您可能决定移植到C ++并使用向量或其他容器类。这样的类更可能具有“ 1”运算符,而不是将“ 2”实现为“指针算术”。这样一来,无需重新编译即可更轻松地更改数据类型。
(就个人而言,我还发现&a[x]
比a+x
更能表达意图,但这纯粹是出于品味。)
, 根据C编程风格的要素,
14.1使用a [b]代替*(a + b)
14.2通常,使用* a代替a [0]
14.3通常,使用a + b代替&a [b]
这些规则的基本原理大致相同:它更短,通常更清晰。