#define Bardziej tak czy tak ?

W tym miejscu zadajemy pytania na temat języka C, dzielimy się swoją wiedzą, udzielamy wsparcia, rozwiązujemy problemy programistyczne.
StaryAnoda

#define Bardziej tak czy tak ?

Postautor: StaryAnoda » piątek 24 mar 2017, 19:08

Która wersja jest bardziej odpowiednia ?

Kod: Zaznacz cały

#define ONE_WIRE_PIN_OUTPUT ONE_WIRE_DDR |= ONE_WIRE // Wersja 1
#define ONE_WIRE_PIN_OUTPUT (ONE_WIRE_DDR |= ONE_WIRE) // Wersja 2

Awatar użytkownika
inż.wielki
User
User
Posty: 307
Rejestracja: niedziela 20 gru 2015, 23:11

Re: #define Bardziej tak czy tak ?

Postautor: inż.wielki » piątek 24 mar 2017, 21:05

Jedna i druga zależy od użycia, jednak ta druga jest bezpieczniejsza, jeżeli używasz tego makra przy jakichś bardziej skomplikowanych obliczeniach. Generalnie zależy od kontekstu. Ja sobie raz zrobiłem makro na wyświetlanie liczby 64b z nawiasami i okazało się że przez to było przekłamanie podczas przeliczania.

Awatar użytkownika
xor
User
User
Posty: 169
Rejestracja: poniedziałek 05 wrz 2016, 21:44

Re: #define Bardziej tak czy tak ?

Postautor: xor » piątek 24 mar 2017, 21:44

StaryAnoda pisze:Która wersja jest bardziej odpowiednia ?


Wersja trzecia:

Kod: Zaznacz cały

#define ONE_WIRE_PIN_OUTPUT ((ONE_WIRE_DDR) |= (ONE_WIRE)) // Wersja 3


Wróć do „Pisanie programów w C”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości