define функции c++

Пытаюсь разобраться в уже существующем коде.

volatile char *Adr_Flash ; 
//объявление указателя типа char с квалификатором volatile.
#define R_Flash(A, D)      Adr_Flash = (char *)A ; D = *Adr_Flash ;
/*подстановка вместо функции R_Flash следующих выражений: Adr_Flash принимает значение А с 
явной сменой типа на указатель char?.,  Аргумент D принимает значение указателя Adr_Flash, 
т.е. на выходе я получаю Adr_Flash = char * A, D = char * A или я что-то неправильно понимаю?*/

#define W_Flash(A, D)      Adr_Flash = (char *)A ; *Adr_Flash = D ;
/*подстановка вместо функции R_Flash следующих выражений: Adr_Flash принимает значение А с 
явной сменой типа на указатель char?., указатель Adr_Flash принимает значение D*/

В общем то у меня в голове каша от такого синтаксиса. Возможно кто-то поймет что здесь происходит и сможет прокомментировать, буду благодарен. Под каждой из строк написал, как я понимаю происходящее.


Ответы (0 шт):