Hi teams
I have been using #define for most of time but recently I found using constant maybe a better idea in C. My question is, in what situation is better to use #define instead of constant?
For example:
I have been using #define for most of time but recently I found using constant maybe a better idea in C. My question is, in what situation is better to use #define instead of constant?
For example:
C:
/* some settings for a peripheral */
#define SETTING1 ((uint8_t)0x10)
#define SETTING2 ((uint8_t)0x20)
#define SETTING3 ((uint8_t)0x30)
Code:
typedef struct PERIPHERAL_SETTINGS {
uint8_t setting1;
uint8_t setting2;
uint8_t seeting3;
}peripheral_settings_t;
const peripheral_settings_t FOO_SETTINGS = {
.setting1 = 0x10,
.setting2 = 0x20,
.setting3 = 0x30,
};