#define что бы получить доступ к члену структуры? - PullRequest
1 голос
/ 12 декабря 2010

Учитывая указатель на структуру, могу ли я написать #define, который будет обращаться к члену структуры?

struct s_block {
 size_t size;
 struct s_block *ptr;
};

#define SIZER(ptr) // will access size member ???? 

Ответы [ 2 ]

3 голосов
/ 12 декабря 2010
#define SIZER(ptr) (ptr)->size

Обратите внимание, что вы должны передать указатель на s_block, чтобы это работало.

Наконец, это должно быть в любом справочном руководстве, посвященном языку программирования C. Я предлагаю вам подобрать один. K & R очень хорошо, даже сегодня.

0 голосов
/ 12 декабря 2010
#define SIZER(ptr) (ptr)->size
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...