![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
{ return x*cos(x
45. Указатели, динамические массивы
В Си++ существуют динамические массивы – массивы переменной длины, они определяются с помощью указателей.
Указатель – переменная, значением которой является адрес памяти, по которому хранится объект определенного типа. При объявлении указателей всегда указывается тип объекта, который будет храниться по данному адресу.
type * name;
Здесь name – переменная, объявляемая, как указатель. По этому адресу (указателю) храниться значение типа type.
Например:
int *i;
Объявляем указатель (адрес) i. По этому адресу будет храниться переменная типа int. Переменная i указывает на тип данных int.
float *x,*z;
Объявляем указатели с именами x и z, которые указывают на переменные типа float.
46. Арифметические операции над адресами
Над адресами в языке Си определены следующие операции:
v суммирование, можно добавлять к указателю целое значение;
v вычитание, можно вычитать указатели или вычитать из указателя целое число.
Однако при выполнении арифметических операций есть некоторые особенности.
double *p1;
float *p2;
int *i;
p1++
p2++;
i++;
Операция p1++ увеличивает значение адреса на 8, операция p2++ увеличивает значение адреса на 4, а операция i++ на 2. Операции адресной арифметики выполняются следующим образом:
v операция увеличения приводит к тому, что указатель будет сcлаться на следующий объект базового типа (для p1 – это double, для p2 – float, для i – int);
v операция уменьшения приводит к тому, что указатель, ссылается на предыдущий объект базового типа.
v после операции p1=p1+n, указатель будет передвинут на n объектов базового типа; p1+n как бы адресует n-й элемент массива, если p1 – адрес начала
47. Динамические массивы. Основные понятия
48. Динамические массивы. Порядок основных действий
49. Строки
Строка – последовательность символов. Если в выражении встречается одиночный символ, он должен быть заключен в одинарные кавычки. При использовании в выражениях строка заключается в двойные кавычки. Признаком конца строки является нулевой символ ‘\0’. В С\С++ в отличии от других языков программирования отсутствует тип данных строка, строки в Си можно описать с помощью массива символов (массив элементов типа char), в массиве следует предусмотреть место для хранения признака конца строки ('\0').
Например, описание строки из 25 символов должно выглядеть так: char s[26];
Здесь элемент s[25] предназначен для хранения символа конца строки.
char s[7]="Привет";
Можно описать и массив строк
char m[3][25]={"Пример ", "использования", " строк"}
Определен массив из 3 строк по 25 байт в каждой.
Для работы можно использовать указатели (char *). Адрес первого символа и будет начальным значением указателя.
50. Структуры
Дата публикования: 2014-12-10; Прочитано: 580 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!