Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
teorminimum.docx
Скачиваний:
1
Добавлен:
26.11.2019
Размер:
84.45 Кб
Скачать

Теорминимум

Общие вопросы

  1. Какие типы данных Вы знаете?

  • Численные знаковые целые

  • int, short, char

  • Численные знаковые дробные

  • Float, double, long, long long, long double

  • Unsigned + type

  • Char так же может использоваться как символьный тип.

________________________________________________________________________________

  1. Как узнать размер типа?

C помощью функции sizeof (аргумент (например, int, float, char))

________________________________________________________________________________

  1. Что такое модель памяти? Какие модели памяти Вы знаете?

Модель памяти в языке Си — система хранения объектов в языке Си.

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

Существует три способа хранения объектов: автоматический, статический и динамический.

• Статическое выделение памяти: пространство для объектов создаётся в сегменте данных программы в момент компиляции; время жизни таких объектов совпадает со временем жизни этого кода. Изменение таких объектов ведёт к ошибке времени выполнения.

• Автоматическое выделение памяти: объекты можно хранить в стеке; эта память затем автоматически освобождается и может быть использована снова, после того, как программа выходит из блока, использующего его.

• Динамическое выделение памяти: блоки памяти нужного размера могут запрашиваться во время выполнения программы с помощью библиотечных функций malloc, realloc, calloc и free из области памяти, называемой кучей. Эти блоки освобождаются и могут быть использованы снова после вызова для них функции free.

________________________________________________________________________________

  1. Назовите размеры стандартных типов в используемой Вами модели памяти.

  • Численные знаковые целые

  • int - 4

  • short - 2

  • char -1

  • Численные знаковые дробные

  • float – 4

  • double – 8

  • long - 4( в С )

  • long long – 8

  • long double - 12( в С ) )

  1. Что такое оператор typedef?

  1. typedef описание

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

  1. typedef double DArray[100];   

  2. ...   

  3. DArray A, B, C;

typedef double DArray[100];

...

DArray A, B, C;

Если бы в первом описании отсутствовало бы ключевое слово typedef, то имя DArray представляло бы имя массива из 100 элементов типа double, для которого бы выделялся соответствующий объем памяти. При наличии typedef компилятор будет воспринимать имя DArray как имя нового типа данных, а именно, типа массива из 100 элементов типа double. Очевидно, никакой памяти при этом не выделяется.

Во втором описании используется имя нового типа DArray. Каждое из определяемых имен A, B и C будет считаться массивом из ста элементов типа double, и для каждого из них будет выделен соответствующий объем памяти.

_______________________________________________________________________________

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]