В Python я привык к таким вещам, как
def send_command(command, modifier = None):
, и тогда аргумент-модификатор является необязательным, а отсутствие аргумента можно отличить от аргумента 0. Есть ли подобная функциональность вC?Я неопытен в C и Googling, но не могу найти четкого объяснения того, как использовать необязательные параметры в C. Кажется, вы можете назначить их аналогично, например так:
void send_command(uint8_t command, uint8_t modifier = 0) {
, так что второйАргумент является необязательным и по умолчанию равен 0, если не используется? (Изменить: Нет, это в любом случае недопустимый C)
Но может ли функция различать send_command(SOMETHING)
и send_command(SOMETHING, 0)
?В идеале вторым параметром может быть любое значение uint8, включая 0.
Возможно, NULL отличается от 0?
void send_command(uint8_t command, uint8_t modifier = NULL) {