Программирование на языке высокого уровня. Марапулец Ю.В. - 55 стр.

UptoLike

Составители: 

Если список отсутствует, описание структуры определяет новый тип, имя которого
можно использовать в дальнейшем наряду со стандартными типами, например:
struct Man
{ //описание нового типа Man
char Surname [25];
int date, code;
double money;
}; // описание заканчивается точкой с запятой
// определение массива типа Man и указателя на тип Man:
. . .
Man mas[200], *ps;
Имя структуры можно использовать сразу после его объявления (определение
можно дать позднее) в тех случаях, когда компилятору не требуется знать размер струк-
туры, например:
struct Struct1; // объявление структуры Struct1
struct Struct2
{
Struct1 *p; // указатель на структуру Struct1
Struct2 *prev, *succ; // указатели на структуру Struct2
};
struct Struct1 { /* определение структуры Struct1 */};
Это позволяет создавать связные списки структур. Для
инициализации структуры
значения ее элементов перечисляют в фигурных скобках в порядке их описания:
struct
{
char Surname [25];
int date, code;
double money;
} Man = {"Иванов", 26, 119, 9500.55};
При инициализации массивов структур следует заключать в фигурные скобки каж-
дый элемент массива (учитывая, что многомерный массив - это массив массивов):
struct complex
{
float Real, Im;
} compl [2][3] = {
{{1, 1}, {1, 1}, {1, 1}}, // строка 1, то есть массив compl[0]
{{2, 2}, {2, 2}, {2, 2}} // строка 2, то есть массив compl[1]
};
Для переменных одного и того же
структурного типа определена
операция при-
сваивания,
при этом происходит поэлементное копирование. Структуру можно переда-
вать в функцию и возвращать в качестве значения функции. Другие операции со струк-
турами могут быть определены пользователем. Размер структуры не обязательно равен
сумме размеров ее элементов, поскольку они могут быть выровнены по границам слова.
55
    Если список отсутствует, описание структуры определяет новый тип, имя которого
можно использовать в дальнейшем наряду со стандартными типами, например:

struct Man
{ //описание нового типа Man
        char Surname [25];
        int date, code;
        double money;
}; // описание заканчивается точкой с запятой
// определение массива типа Man и указателя на тип Man:
...
Man mas[200], *ps;

      Имя структуры можно использовать сразу после его объявления (определение
можно дать позднее) в тех случаях, когда компилятору не требуется знать размер струк-
туры, например:
struct Struct1;        // объявление структуры Struct1
struct Struct2
{
        Struct1 *p;         // указатель на структуру Struct1
        Struct2 *prev, *succ; // указатели на структуру Struct2
};
struct Struct1 { /* определение структуры Struct1 */};

     Это позволяет создавать связные списки структур. Для инициализации структуры
значения ее элементов перечисляют в фигурных скобках в порядке их описания:

struct
{
      char Surname [25];
      int date, code;
      double money;
} Man = {"Иванов", 26, 119, 9500.55};

     При инициализации массивов структур следует заключать в фигурные скобки каж-
дый элемент массива (учитывая, что многомерный массив - это массив массивов):

struct complex
{
        float Real, Im;
} compl [2][3] = {
        {{1, 1}, {1, 1}, {1, 1}}, // строка 1, то есть массив compl[0]
        {{2, 2}, {2, 2}, {2, 2}} // строка 2, то есть массив compl[1]
};

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



                                             55