struct S1 { char *s; int i; struct S1 *s1p; }; | Тип записи S1 относится к записи, содержащей ссылку на символ s, целое i и ссылку s1p на запись типа S1. Но это только описание, никакого экземпляра записи типа S1 не определяется. |
static struct S1 a[] = { { "abcd", 1, a+1 }, { "efgh", 2, a+2 }, { 'ijkl", 3, a } }; | Здесь a - массив из трех элементов типа S1, т.е. записей S1. Поскольку a определялся как static, то его можно инициировать в самом определении. |
struct S1 *p = a; | Переменная p описывается как ссылка на запись S1 и инициируется значением, указывающим на первый элемент a. |
На рис.2.1 изображены массив a и ссылка p.
![]() Рис.2.1 |