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*/
В общем то у меня в голове каша от такого синтаксиса. Возможно кто-то поймет что здесь происходит и сможет прокомментировать, буду благодарен. Под каждой из строк написал, как я понимаю происходящее.