Книга: Язык Си - руководство для начинающих

Инициализация структуры

Инициализация структуры

     Мы видели, как инициализируются переменные и массивы:

int count = 0;

static int fibo[ ]={0, 1, 1, 2, 3, 5, 8};

Можно ли инициализировать и структурную переменную? Да, если структурная переменная будет внешней или статической. Здесь следует иметь в виду, что принадлежность структурной переменной к внешнему типу зависит от того, где определена переменная, а не где определен шаблон. В нашем примере шаблон book является внешним, а переменная libry - внутренней, так как она определена внутри функции и по умолчанию располагается в классе автоматической памяти. Предположим, мы создали такое описание:

static struct book libry;

     В этом случае используется статическая память, и можно инициализировать структуру следующим способом:

static struct book libry={"Пират и девица",

                                "Рене Вивот",

                                1р.95 } ;

     Чтобы сделать ассоциации более явными, мы дали каждому элементу свою собственную строку для инициализации, хотя компилятору требуются только запятые, чтобы отделить инициализацию одного элемента от инициализации следующего.

Продолжим наши разъяснения свойств структуры.

Оглавление книги


Генерация: 1.326. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз