Лекции (опорный конспект)
.pdf5.6.2. Метод «пузырька»
61
6.Пользовательские типы данных
6.1.Перечисления
•Перечисление – конструкция, позволяющая определить множество целочисленных констант
•Перечисление может иметь имя
•Идентификатор, обозначающий имя перечисления, становится
новым пользовательским типом данных
62
6.2.Структуры (1)
•Структура – совокупность элементов произвольных типов
1) |
2) |
3)
4)
6)
5)
63
6.2. Структуры (2)
7)
8)
struct circle
{
point center; int radius;
};
64
6.3.Объединения
•Объединение – конструкция, позволяющая размещать в одной области памяти различные данные
value
=1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65
byte[0] |
=1 |
byte[1] |
=0 |
6.4. Объявление пользовательского типа данных при помощи typedef
•Для определения нового пользовательского типа может использоваться ключевое слово typedef
1)
2)
3)typedef struct
{
double x; double y; double z;
} COORD;
COORD myPoint; |
66 |
6.5.Оператор sizeof
•Оператор sizeof позволяет определить размер памяти, требуемый для хранения значений заданного типа данных
•Оператор sizeof может применяться как к переменным, так и к типам данных.
1)struct test
{
char h; int b;
double f;
};
test str;
int a1 = sizeof(str); // 16
int a2 = sizeof(char) + sizeof(int) + sizeof(double); // 13
cout << a1 << " " << a2;
2)
67
6.6 Преобразование стандартных типов данных
• Неявное |
• Явное преобразование |
преобразование типов |
типов |
– происходит автоматически |
– выполняется при помощи |
при расчете значений |
специальной операции |
выражений, а также при |
преобразования |
выполнении операции |
|
присваивания (если |
|
операнды имеют |
|
различные и совместимые |
|
типы данных) |
|
68
7.Указатели
7.1.Адрес переменной
•Местоположение переменной в памяти определяется
ееадресом
•Чтобы узнать адрес конкретной переменной, используется унарная операция взятия адреса (&)
Результат:
69
7.2.Понятие указателя
•Указатель – переменная, значение которой является адресом ячейки памяти
70