Re: Чёртов язык Си!
Dmitrii Kashin -> debian-russian@lists.debian.org @ 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
Reply to: