Red de conocimiento informático - Computadora portátil - En #define CONFIG_REG_MAP_NR (501) en c, ¿qué significa poner corchetes alrededor de 501?

En #define CONFIG_REG_MAP_NR (501) en c, ¿qué significa poner corchetes alrededor de 501?

Dado que los paréntesis no cambian el valor de la expresión,

expresión:501 y expresión::(501)

ambas tienen el mismo valor 501

porque El motivo de esta redundancia es que agregar paréntesis cambia el orden de prioridad.

Por ejemplo:

#define CONFIG_REG_MAP_NR 300 201

Cuando aparece en la siguiente declaración:

int a = 2;

int b = a * CONFIG_REG_MAP_NR;

Su resultado esperado es 2 * 501, pero en realidad es: 2 * 300 201.

Por lo tanto, agregar paréntesis garantiza que el valor que desea sea un todo y

no esté alterado por ningún orden de precedencia posible.

Por supuesto, para su pregunta, donde solo hay un número, está bien no agregar los paréntesis,

pero hacerlo mantiene la coherencia y es una buena práctica de programación.