- •3.Динамическая память. Указатели и массивы. Ссылочный тип.
- •5.Доступ к элементам массива. Вычисление размера массива. Многомерные массивы.
- •7.Использование new и delete на примере динамических
- •9.Символьные массивы и строковые функции. Массивы в
- •13.Условный оператор? . Оператор switch.
- •15.Классы (fstream, ofstream, ifstream, ostream, istream, ios) и представители классов потокового ввода-вывода.
- •19.Объявление переменных указателей. Простые операторы с указателями.
- •21.Оператор if. Оператор if-else. Вложенные операторы if-else. Оператор if-else-if.
- •23.Операции динамического распределения памяти.
- •25.Передача значений параметров по умолчанию. Передача параметров по ссылке и ссылочные переменные.
- •27.Приоритет переменных с файловой и локальной областями действия. Операция уточнения области действия.
- •29.Пространство имен. Операторы namespace и using.
19.Объявление переменных указателей. Простые операторы с указателями.
Указатель — это переменная специального типа. Она хранит не какое-то числовое значение, а адрес (номер первого байта в памяти компьютера), по которому хранится какая-то другая переменная. При создании указателя необходимо задать тип переменной, на которую он указывает. Синтаксис объявления указателя такой:
имя_типа * идентификатор;
Пример:
int * pi; float * pf, f; double * ps, * pt;
В первой строке этого примера объявлены переменная pi, являющейся указателем на тип int (то есть в ячейке памяти, на которую указывает pi должна хранится переменная типа int). Во второй строке объявлены переменная pf, являющейся указателем на тип float и переменная f типа float. Обратите особое внимание на эту строчку: для того, чтобы объявить несколько указателей в одной строке, необходимо перед идентификатором каждого из них поставить символ *. А еще лучше объявлять в одной строке только одну переменную. В третей строке объявляется два указателя на тип double: ps и pt. Указателям можно присваивать значение, являющееся указателем того же типа (которое может быть результатом оператора new, оператора & или другим указателем того же типа). К указателям можно применять оператор разыменования *. Кроме этого с указателями можно выполнять ряд других операций. Далее мы предполагаем, что p и q — указатели одного типа, например, объявленные как int *p, *q.
Как и числа, указатели можно сравнивать между собой.
p==q Проверка двух указателей на равенство (то есть указывают ли они на одну и ту же ячейку памяти)
p!=q Проверка на неравенство
p<q Возвращает true, если ячейка, на которую указывает p находится в памяти раньше, чем ячейка, на которую указывает q. Аналогично определяются сравнения p<=q, p>q, p>=q
21.Оператор if. Оператор if-else. Вложенные операторы if-else. Оператор if-else-if.
Типичной программистской конструкцией является лесенка if-else-if. Она выглядит следующим образом: if (выражение) оператор; else if (выражение) оператор; else if (выражение) оператор; ... else оператор;
Условия вычисляются сверху вниз. Когда обнаруживается истинное условие, то выполняется оператор, связанный с этим условием, а остальная часть конструкции игнорируется. Если не найдено ни одного истинного условия, выполняется оператор, соответствующий последнему else. Последний оператор else часто играет роль оператора, выполняемого по умолчанию, то есть, если все условия ложны, то выполняется оператор, соответствующий последнему else. Если последний оператор else отсутствует, то не выполняется никаких действий в случае ложности всех условий
Оператор C++ if позволяет вашим программам осуществлять проверку и затем на основании этой проверки выполнять операторы. Формат оператора if следующий:
if (условие_выполняется) оператор;
Обычно оператор if выполняет проверку, используя операцию сравнения C++. Если результат проверки является истиной, if выполняет оператор, который следует за ним.
В большинстве случаев вашим программам потребуется указать один набор операторов, выполняющийся, если условие истинно, и второй набор, выполняющийся, если условие ложно. Для указания операторов, которые должны выполняться, когда условие ложно, ваши программы должны использовать оператор else. Ниже приведен формат оператора else:
if (условие_истинно) оператор; else оператор;
Представление об if-else
По мере усложнения ваши программы будут проверять разные условия и выполнять один набор операторов, если условие истинно, и другой набор, если условие ложно. Для выполнения такой условной обработки программы используют операторы if-else, как показано ниже:
if (условие_истинно) оператор; else оператор;
Когда программе требуется выполнить несколько операторов, если условие ложно или истинно, вы должны сгруппировать связанные операторы внутри левой и правой фигурных скобок {}:
if (условие_истинно)
{ первый_оператор_для_истины; второй_оператор_для_истины; } else { первый_оператор_для_лжи; второй_оператор_для_лжи; }
