我有值的固定陣列,其必須是像它是因爲它被訪問以,這種方式所使用的通信協議(用於問題不相關),該方式:更好地使用宏定義或指針的數組中的值?
#define REGS_ARRAY_SIZE 256
int16 Regs[REGS_ARRAY_SIZE];
每個值具有一個特定的目的,例如:
Regs[ENABLE_MOTOR_ADDRESS]
將被用於指示馬達的與0或1
啓用爲了使用更舒適這些樣值必須被從代碼我訪問寫和從外面t hrough通信協議我還以爲我的選擇是:
使用宏:
#define drive_enable (Regs [ ENABLE_MOTOR_ADDRESS ])
使用指針:
int16 *drive_enable = &(Regs [ ENABLE_MOTOR_ADDRESS ]);
是其中一個比另一個更好嗎?對我來說,使用宏看起來更方便,因爲我避免在每次使用變量時都需要引用解引用。然而,我從來沒有對宏的好感...
任何意見?
宏方法看起來相當自然的,但在這種情況下,我可能更喜歡寫爲'DRIVE_ENABLE' –
你還不如使用相同的名稱ENABLE_MOTOR(寄存器[ENABLE_MOTOR_ADDRESS ]) – QuentinUK
這兩個是不同的東西。一個聲明一個變量,另一個不是 –