Объектно-ориентированное программирование. Сивохин А.В - 25 стр.

UptoLike

25
Указатели на структуры и объединения
Для доступа к элементам структурных переменных или объединений через
указатель используется специальная операция ->.
Пример:
struct Student Gruppa [25];
struct Student *Ptr= &(Gruppa[5]);
. . .
printf ("\n ФИО: %-30s \n Шифр: %-9s \n Год рождения:%4d",
Ptr->FIO, Ptr->ID_Cod, Ptr->BirthYear);
Обращение Ptr->FIO есть синоним (*Ptr).FIO.
Передача структур и объединений в функции и их возврат из функций
В классическом варианте языка Си передача структуры
в функцию
осуществлялась только через указатель на структуру, возврат значений
осуществлялся также через указатель.
В современных реализациях языка Си допустимо передавать структуру в
качестве аргумента функции и возвращать ее.
Пример:
struct s func (struct s arg);
Спецификатор typedef
Спецификатор typedef позволяет задавать символические имена типов данных.
Описание символических имен похоже на описание переменных: сначала
указывается тип,
а затем его метка.
Typedef напоминает директиву препроцессора #define, но имеются следующие
отличия:
- typedef дает символические имена только типам данных;
- typedef выполняется компилятором, а не препроцессором.
Область действия определения, данного с помощью typedef, зависит от его
расположения. Если определение было дано внутри функции, то область действия
локальна и ограничивается этой
функцией. Если определение расположено вне
функции, то область действия - глобальная.
Примеры использования typedef:
typedef float * FPTR;
typedef unsigned char BYTE;
                                                                            25
                  Указатели на структуры и объединения
     Для доступа к элементам структурных переменных или объединений через
указатель используется специальная операция ->.
     Пример:
  struct Student Gruppa [25];
  struct Student *Ptr= &(Gruppa[5]);
    . . .
 printf ("\n ФИО: %-30s \n Шифр: %-9s \n Год рождения:%4d",
         Ptr->FIO, Ptr->ID_Cod, Ptr->BirthYear);
    Обращение Ptr->FIO есть синоним (*Ptr).FIO.

    Передача структур и объединений в функции и их возврат из функций

    В классическом варианте языка Си передача структуры в функцию
осуществлялась только через указатель на структуру, возврат значений
осуществлялся также через указатель.
    В современных реализациях языка Си допустимо передавать структуру в
качестве аргумента функции и возвращать ее.
    Пример:
     struct s func (struct s arg);

                            Спецификатор typedef
    Спецификатор typedef позволяет задавать символические имена типов данных.
Описание символических имен похоже на описание переменных: сначала
указывается тип, а затем его метка.
    Typedef напоминает директиву препроцессора #define, но имеются следующие
отличия:
    - typedef дает символические имена только типам данных;
    - typedef выполняется компилятором, а не препроцессором.
    Область действия определения, данного с помощью typedef, зависит от его
расположения. Если определение было дано внутри функции, то область действия
локальна и ограничивается этой функцией. Если определение расположено вне
функции, то область действия - глобальная.
    Примеры использования typedef:
    typedef float * FPTR;
    typedef unsigned char BYTE;