Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пр и Осн Алг(Спр).doc
Скачиваний:
6
Добавлен:
22.09.2019
Размер:
549.89 Кб
Скачать

3.2.Структурированные типы данных

3.2.1.Массив

Массив - упорядоченная структура, предназначенная для хранения однотипных данных.

Данные в массиве пронумерованы, начиная с 0.

Формат объявления массива

тип имя [размерность];

где тип – тип данных, хранимых в массиве; имя – имя массива; размерность – максимальное количество элементов, которые можно записать в массив.

Пример объявления массива:

int mas [10];

//одномерный массив на 10 целых чисел

float mas_2 [5][8];

/* двумерный массив на 40 (матрица 5 строк на 8 столбцов) вещественных чисел */

int mas_3 [5] = {2, 8, 6, 12, 9};

/*объявлен целочисленный массив и заданы начальные значения его элементов */

Для обращения к массиву в программе указывается имя массива и в квадратных скобках индекс (номер) элемента.

Пример обращения к массиву:

mas [4] = 12;

// в 4-ю ячейку массива записывается число 12

z = mas_3 [0];

// переменной z присваивается значение 0-й ячейки массива

3.2.2.Строка

Строки в С и С++ представляются в виде массива целых чисел - кодов букв (от 0 до 255), завершающегося нулевым байтом ‘\0’. Соответственно, объявление переменной типа строка не отличается от объявления массива. Количество ячеек массива должно быть на 1 больше максимальной длины строки (для нулевого байта).

Пример объявления строки:

unsignet char strk[16];

/* Объявлена переменная strk как массив из 16 элементов (15 символов + ‘\0’).*/

unsignet char str = “Это строка”;

/* Объявлена переменная str как массив из 11 элементов (10 символов + ‘\0’). Размерность массива определяется автоматически.*/

3.2.3.Структура

Cтруктура – составной тип данных, представляющий собой объединенный под общим именем набор данных различных типов. Отдельные данные называются полями структуры. Обычно структура используется для описания множества аналогичных объектов, имеющих несколько параметров. Например, для хранения информации о студентах можно создать массив из элементов типа структуры, содержащей поля для фамилии, имени, отчества, названия группы, года поступления и др.

Общий вид объявления переменной типа структуры:

struct {

тип имя_поля;

} имя [, имя];

где тип указывает тип поля структуры; имя_поля и имя – имя поля и переменной типа структуры соответственно.

Например:

struct { double x,y; } s1, s2, sm[9];

struct {

int year;

char moth, day;

} date1, date2;

Переменные s1, s2 – структуры, состоящие из двух полей х и у. Переменная sm – массив из девяти структур. Переменные date1, date2 - структуры, состоящие из трех полей year, moth, day.

Объявление нового типа данных на основе структуры имеет вид

struct тэг { список };

где тэг – идентификатор (имя) нового типа данных, список – список полей структуры.

Например:

struct student { char name[25];

int age;

char prp;};

// объявлен новый тип данных с именем student

struct student st1, st2, std[50];

// объявлены переменные st1,st2 типа student и массив структур типа student на 50 студентов.

Доступ к полям структуры осуществляется с помощью указания имени структуры и следующего через точку имени поля, например:

st1.name = "Иванов";

st2.age = st1.age;

sumbol = st1.prp;