undefined

Синтаксис указателей и структур

Harvard CS50
5 уровень , 2 лекция
Открыта

Указатели

Чтобы создать указатель, необходимо обозначить тип данных, на который он будет ссылаться, записать звездочку и имя указателя. Например, так:

int *a; // Указатель на int
char *b; // Указатель на char
float *c; // Указатель на float

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

* <Имя переменной>

Чтобы получить указатель на какую переменную, нужно использовать оператор взятия адреса:

& <Имя переменной>

Структура и списки

Вы уже знаете, что в массивах можно хранить только целые числа, или только символы, или ещё что-то, но всегда — данные только одного типа. Но что, если вам понадобится хранить вместе данные разных типов? Решение есть. И это — структуры.

Структуры (stucts) — это средство хранения данных нескольких различных типов в одном месте.

Структуры, по сути, это ваш личный тип данных, в который входят элементы разных типов данных. Пример объявления структуры, в которой хранятся данные о студенте:

typedef struct
{
  string name;
  int id;
  int phone_number;
  string house;
}
student;

Теперь у нас есть тип с именем student. Мы можем создавать переменные этого типа, и использовать поля этого типа как показано ниже:

student walker; // Создание новой переменной
// Заполнение полей новой переменной
walker.name = "Walker";
walker.id = 123456;
walker.phone_number = 38012312366;
walker.house = "Jackson"
Комментарии (3)
Чтобы просмотреть все комментарии или оставить свой,
перейдите в полную версию
Matrix 0 уровень
15 февраля 2019
Тест на внимательность. Диапазон типа int может содержать числа до 32767. Поэтому номер телефона нужно помещать в другой тип данных.)