Dmitrii Kashin -> [email protected]  @ Tue, 07 Oct 2014 01:45:56 
+0400:

 DK> Оказывается, можно объявлять структуры, не объявляя их поля. Я в
 DK> шоке. Оказывается, заголовки можно писать вот так:

 DK> ---------- my-objects.h ----------
 >> struct my_object;
 >> struct my_object * my_object_create();
 >> int my_object_do_something(struct my_object * object); 
 DK> ----------------------------------

 DK> И таким образом изменение структуры не повлечёт за собой необходимость
 DK> перекомпиляции всех программ, которые пользуются библиотекой my-objects.

 DK> Что примечательно, в справке [1] ни слова о том, что так можно делать.
 DK> Подскажите, я как-то не так читаю? Я вроде с языком Си уже давно дружу,
 DK> и меня очень огорчает то, что я узнаю о таких вещах случайно на бордах
 DK> вроде OpenNet'а.

 DK> [1] 
http://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html#Defining-Structures

Это довольно логично, поскольку в приведенном примере структура не
_определяется_.  Она _объявляется_.

http://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html#Incomplete-Types


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: https://lists.debian.org/[email protected]

Ответить