Реферат Курсовая Конспект
Объявление структуры - раздел Программирование, Структуры, объединения, перечисления в C++ Структуры Языка C++ Представляют Поименованную Совокупность Компонентов, Назы...
|
Структуры языка C++ представляют поименованную совокупность компонентов, называемых полями, или элементами структуры. Элементом структуры может быть:
· переменная любого допустимого типа;
· битовое поле;
· функция;
Объявление структуры имеет следующее формальное описание:
struct [имя_структуры] {
тип_элемента_структуры имя_ элемента1;
тип_элемента_структуры имя_ элемента2;
...
тип_элемента_структуры имя_ элементаN;
} [список_объявляемых_переменных];
Объявление структуры с битовыми полями имеет следующее формальное описание:
struct [имя_структуры] {
тип_элемента_структуры
[имя_ элемента1] : число_бит;
тип_элемента_структуры
[имя_ элемента2] : число_бит;
...
тип_элемента_структуры
[имя_ элементаN] : число_бит;
} [список_объявляемых_переменных];
Возможно неполное объявление структуры, имеющее следующее формальное описание:
struct имя_структуры;
При отсутствии имени объявляемой структуры создается анонимная структура. При создании анонимной структуры обычно указывается список объявляемых переменных.
Список объявляемых переменных типа данной структуры может содержать:
· имена переменных;
· имена массивов;
· указатели;
Например: struct sA {char a[2], int i;} struA, struB[10], *struC;
Для использования указателя на структуру ему необходимо присвоить адрес переменной типа структуры.
Размер структуры с битовыми полями всегда кратен байту. Битовые поля можно определять для целочисленных переменных типа int, unsigned int, char и unsigned char. Одна структура одновременно может содержать и переменные, и битовые поля. Если для битового поля не задано имя элемента, то доступ к такому полю не разрешен, но количество указанных бит в структуре размещается.
Типом элемента структуры может быть:
· другой структурный тип (допускаются вложенные структуры);
· указатель на данный структурный тип;
· неполно объявленный структурный тип;
· любой другой базовый или производный тип, не ссылающийся рекурсивно на объявляемый структурный тип.
Например:
struct sA {char a[2], sA* this_struct;}; // Корректное объявление структуры
struct sB; // Неполное объявление структуры
struct sA {char a[2], sB* this_struct;}; // Корректное объявление структуры
struct sA {char a[2], sA this_struct;}; // Ошибочное объявление
Структура не может содержать в качестве вложенной структуры саму себя, но она может содержать элемент, являющийся указателем на объявляемую структуру.
Например:
struct structA {
struct structA *pA; int iA; } sA;
// pA указатель на структуру
При одновременном объявлении структурного типа, объявлении переменной данного типа и ее инициализации список значений указывается в фигурных скобках в последовательности, соответствующей последовательности определения элементов структуры.
Например:
struct POINT // Объявление структурного типа POINT
{
int x; // Объявление элементов x и y
int y;
} p_screen = { 50, 100 }; // Эквивалентно записи p_screen.x = 50; и p_screen.y = 100;
– Конец работы –
Эта тема принадлежит разделу:
На сайте allrefs.net читайте: "Структуры, объединения, перечисления в C++"
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Объявление структуры
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов