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

3. Функции. Структура функций. Разновидности. Особенности использования.

Функция – именованная последовательность описаний и операторов, выполняющая некоторое действие. Может иметь параметры и возвращать значение.

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

Вложенность функций в С++ не допускается!

Разновидности

Встроенные - такие функции, которые включены в системную библиотеку Тurbo-C и прототипы которых содержатся в include-файлах.

Пользовательскими называют функции, для которых определение и описание задается пользователем.

Структура функции

//заголовок

[спецификатор класса памяти][<тип результата>]<имя функции>([<список формальных параметров>])

// тело функции

{<объявление и определение локальных параметров>

<инструкции>

[return[<выражение>];]

}

Особенности использования

[класс] [inline] <тип> <имя> ( [список параметров] )

{ тело функции }

Класс определяет видимость функции

  • extern - во всех файлах программы (по умолчанию)

  • static – только в файле, в котором ф-ция определена

Модификатор inline определяет функцию как встроенную. Компилятор по мере возможности будет вместо вызова функции помещать в точку вызова ее код.

Тип может быть любым кроме массива (но может быть указателем на массив). Если значение не возвращается, используется void

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

Для возврата значения используется оператор return <выражение>

Вызов функции

имя (список фактических параметров)

Вызов функции без параметров: f()

4. Типы данных. Классификация типов.

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

Классификация типов

Иерархию типов данных можно представить следующей схемой.

Простые (скалярные) типы:

  • целые,

  • вещественные,

  • символьные,

  • указатели,

  • перечислимый тип.

Составные (структурированные) типы:

  • массив,

  • структура,

  • объединение.

Переменная простого (скалярного) типа в любой момент времени хранит только одно значение. В отличие от простых переменных, переменные составного (структурированного) типа одновременно хранят несколько значений.

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

Указатель – это переменная, значением которой является адрес объекта (обычно другой переменной) в памяти компьютера. Таким образом, если одна переменная содержит адрес другой переменной, то говорят, что первая переменная указывает (ссылается) на вторую.

Массив – это группа элементов одинакового типа (double, float, int и т. п.). Из объявления массива компилятор должен получить информацию о типе элементов массива и их количестве.

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

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

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