Контрольная работа: Актуальные вопросы в работе с С++
tурe *имя_указателя (инициализирующее_выражение);
В качестве инициализирующего_выражения должно использоваться константное выражение, частными случаями которого являются:
- явно заданный адрес участка памяти;
- указатель, уже имеющий значение;
- выражение, позволяющее получить адрес объекта с помощью операции '&'.
Если значение константного выражения равно нулю, то это нулевое значение преобразуется к пустому (иначе нулевому) указателю. Синтаксис языка "гарантирует, что этот указатель отличен от указателя на любой объект". Кроме того, внутреннее (битовое) представление пустого указателя может отличаться от битового представления целого значения 0. В компиляторах ТС++ и ВС++ условное нулевое значение адреса, соответствующее значению пустого указателя, имеет специальное обозначение NULL. Примеры определений указателей:
сhаr cc = 'd'; // Символьная переменная (типа сhаr)
сhаr *рс = &cс; // Инициализированный указатель на объект
// типа сhаr
сhаr *рtr(NULL); // Нулевой указатель на объект типа сhаr
сhаr *р; // Неинициализированный указатель на
// объект типа сhаr
5. Что такое функция? Можно ли возвращать значения из функции через переданные ей аргументы? Если можно, то как? Приведите примеры
Для чего нужны функции? Чтобы ответить на этот вопрос, нужно понять, что вообще представляют собой функции. В программировании, как и в математике, функция есть отображение множества ее аргументов на множество ее значений. То есть функция для каждого набора значений аргумента возвращает какие-то значения, являющиеся результатом ее работы. Зачем нужны функции, попытаемся объяснить на примере. Классический пример функции в программировании – это функция, вычисляющая значение факториала числа. То есть мы задаем ей число, а она возвращает нам его факториал. При этом не нужно для каждого числа, факториал которого мы хотим получить, повторять один и тот же код – достаточно просто вызвать функцию с аргументом, равным этому числу.
Функция вычисления факториала натурального числа
<?php
function fact($n){
if ($n==0) return 1;
else return $fact = $n * fact($n-1);
}
echo fact(3);
// можно было бы написать echo (3*2);
// но если число большое,
echo fact(50);
// то удобнее пользоваться функцией,
// чем писать echo (50*49*48*...*3*2);
?>
Таким образом, когда мы осуществляем действия, в которых прослеживается зависимость от каких-то данных, и при этом, возможно, нам понадобится выполнять такие же действия, но с другими исходными данными, удобно использовать механизм функций – оформить блок действий в виде тела функции, а меняющиеся данные – в качестве ее параметров.
Посмотрим, как в общем виде выглядит задание (объявление) функции. Функция может быть определена с помощью следующего синтаксиса: