yuri.nefedov@gmail.com writes: > On Tue, 7 Oct 2014, Dmitrii Kashin wrote: > >> >> Как бы это сказать помягче, что я в очередной раз удивился, потратил >> время, открыл книжку, перечитал, и снова ничего не нашёл? >> >> > > For example, given the declaration of point above, > struct point pt; > defines a variable pt which is a structure of type struct point. > > А более подробное обсуждение, что такое declaration > содержится в 2.4. > > Или я не понял вопроса. Что именно вы хотели найти? Да, пожалуй. Фишка в том, что можно написать в заголовке: ---------- point.h ---------- struct point; struct point* point_constructor(); int point2number(struct point* p); ----------------------------- В коде библиотеке вот можно написать вот так: ---------- point.c ---------- struct point { int x; int y; }; struct point* point_constructor() { struct point* p_ptr = malloc(sizeof(struct point)); p_ptr->x = 1; p_ptr->y = 1; return p_ptr; }; int point2number(struct point* p) { return (p->x + p->y); }; ----------------------------- После чего в какой-то другой программе воспользоваться этим как-то так: ---------- program.c ---------- include "point.h" int main(int argc, char* argvp[]) { struct point* PVAR; return point2number(PVAR); }; ------------------------------- И оно будет работать. Я не проверил этот код, а просто наскоро написал его в редакторе. Смею надеяться, общую суть я передал.
Attachment:
pgpw5VcgdnLJI.pgp
Description: PGP signature