рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Объединения и перечисления. Указатели и структуры. Массив структур.

Объединения и перечисления. Указатели и структуры. Массив структур. - раздел Образование, Общая характеристика языка Си в сравнении с другими процедурными языками Объединения   Объединение Описывает Переменную, Котора...

Объединения

 

Объединение описывает переменную, которая может иметь любой тип из некоторого множества типов.

 

Определение объединенного типа данных аналогично определению структурного типа данных:

 

union имя_объединения {

 

Описания_элементов

 

};

 

Пример:

 

union bigword {

 

long bg_long;

 

char *bg_char [4];

 

};

 

Данные типа union bigword занимают память, необходимую для размещения наибольшего из своих элементов, и выравниваются в памяти к границе, удовлетворяющей ограничениям по адресации как для типа long, так и для типа char *[4].

 

Описание переменной объединенного типа:

 

Пример:

 

union bigword x;

 

union bigword *p;

 

union bigword a[100];

Перечисления

 

^ Данные перечислимого типа относятся к некоторому ограниченному множеству данных.

 

Определение перечислимого типа данных:

 

enum имя_перечислимого_типа {

 

Список_значений

 

};

 

Каждое значение данного перечислимого типа задается идентификатором.

 

Пример:

 

enum color {

 

red, green, yellow

 

};

 

Описание переменной перечислимого типа:

 

enum color chair;

 

enum color suite [40];

 

Использование переменной перечислимого типа в выражении.

 

Пример:

 

char = red;

 

suite[5] != yellow;

 

 

Указатели и структуры

 

Рассмотрим метку структуры student, описание которой было дано выше как

 

struct student {

 

char name[25];

 

int id, age;

 

char sex;

 

}

 

Указатель new_student определен как

 

struct student *new_student;

 

Предположим, что память выделена таким образом, чтобы new_student указывал на объект student. Тогда на компоненты этого объекта можно ссылаться следующим образом:

 

(*new_student).name

 

(*new_student).id

 

(*new_student).age

 

(*new_student).sex

 

Поскольку указатели часто используются для указания на структуры, в языке Си специально для ссылок на компоненты таких структур введен оператор выбора стрелка вправо ->. Например, ссылки на вышеприведенные компоненты структуры можно записать с использованием оператора стрелки вправо -> как:

 

new_struct->name

 

new_struct->id

 

new_struct->age

 

new_struct->sex

^ Массив структур

 

Процесс описания массива структур совершенно аналогичен описанию любого другого типа массива:

 

struct book libry[MAXBKS];

 

Этот оператор объявляет libry массивом, состоящим из MAXBKS-элементов. Каждый элемент массива представляет собой структуру типа book. Таким образом, libry[0] является book-структурой, libry[1] - второй book-структурой и т.д.

 

^ Определение элементов массива структур. При определении элементов массива структур мы применяем те же самые правила, которые используются для отдельных структур: сопровождаем имя структуры операцией получения элемента и имени элемента:

 

libry[0].value value - первый элемент массива

 

libry[4].title title - пятый элемент массива

 

– Конец работы –

Эта тема принадлежит разделу:

Общая характеристика языка Си в сравнении с другими процедурными языками

Операции языка Си... Любое выражение языка состоит из операндов переменных констант и др соединенных знаками операций Знак операции...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Объединения и перечисления. Указатели и структуры. Массив структур.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Общая характеристика языка Си в сравнении с другими процедурными языками.
Общая характеристика языка программирования Си. Алфавит языка. Понятие переменной и константы в языке программирования Си, их типы. Примеры. Язык программирования Си был разработан в 1972 году сотр

Основные типы данных, переменные и константы. Препроцессор языка Си.
  В алфавит языка программирования Си включаются латинские буквы (прописные и строчные), цифры и некоторые специальные знаки: скобки круглые “(“ и “)” , квадратные “[“ и “]” , фигурны

Ввод-вывод чисел, символов и строк на консоль. Переключение ввода-вывода, работа с файлами.
Под функциями ввода-вывода подразумеваются функции, которые выполняют транспортировку данных в программу и из нее. Мы уже использовали две такие функции: printf( ) и scanf( ). Теперь рассмотрим нес

Циклы и другие управляющие средства.
Цикл с предусловием   Существует три вида циклов: while, for и do. Цикл while имеет следующую форму: while (e) s;   Оператор s выполняется до

Строковые константы, массивы символьных строк и их инициализация. Указатели и строки, ввод-вывод и обработка строк.
В языке C, в отличие от языка Pascal, отсутствует специальный строковый тип данных. Строка представляет собой последовательность (одномерный массив) из одного или более символов, последним из котор

Определение структурных переменных. Доступ к компонентам структуры.
Структура объединяет логически связанные данные разных типов. Структурный тип данных определяется следующим описанием:   struct имя_структуры {   Описа

Стандартные библиотечные функции языка Си, функция генерации случайных чисел.
Библиотека языка Си содержит множество функций и макроопределений. Библиотеки меняются от системы к системе, но есть ядро функций (стандартная библиотека).   Эти функции испо

Динамические структуры данных (стек, список, дерево, граф).
  Стек (англ. stack — стопка) — структура данных с методом доступа к элементам LIFO (англ. Last In — First Out, «последним пришел — первым вышел»). Чаще всего принцип работы стека сра

Графический интерфейс пользователя (GUI). Типы данных Win32.
Графи́ческий интерфе́йс по́льзователя (ГИП), графический пользовательский интерфейс (ГПИ) (англ. Graphical user interface, GUI; сленг. ГУИ или Гуй) — разновидность пользовательского

Обработка сообщений от клавиатуры, часто используемые сообщения.
Существует несколько способов обработки сообщений от клавиатуры, каждый метод пригоден для той или иной ситуации. Рассмотрим самые основные и распространенные методы обработки сообщений клавиатуры.

Однострочное и многострочное поле для ввода текста.
Можно создавать одну или несколько строк текста, каждая из которых является отдельным объектом. Строки можно по отдельности перемещать, форматировать или редактировать иным образом.  

Создание процесса, создание потока, рабочие функции потока, обмен сообщениями между процессами и потоками.
Функция CreateThread создает для процесса новый поток. Созданный поток должен определить начальный адрес кода, с которого новый поток должен исполняться. Как правило, начальный адрес - это название

Графический интерфейс устройства (CDI). Контекст устройства. Регионы и отсечение.
Графический интерфейс пользователя (Graphical User Interface, GUI) это система средств для взаимодействия пользователя с устройством, основанная на представлении всех доступных пользователю системн

Режимы многозадачности, многопоточная архитектура, преимущества Windows.
Многозадачность (multitasking) - это способность операционной системы выполнять несколько программ одновременно. В основе этого принципа лежит использование операционной системой аппаратного таймер

Базовый алгоритм численного интегрирования методом прямоугольников.
Задача численного интегрирования состоит в замене исходной подинтегральной функции f(x), для которой трудно или невозможно записать первообразную в аналитике, некоторой аппроксимирующей функцией &#

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги