Программирование на языке высокого уровня. Марапулец Ю.В. - 40 стр.

UptoLike

Составители: 

Основными операциями над указателями являются:
-
доступ по адресу;
-
приведение типов;
-
присваивание;
-
получение адреса (&);
-
сложение и вычитание;
-
авто увеличение(++) и уменьшение(−−);
-
сравнение.
Первые четыре операции рассмотрены выше. Использование операции сложения
указателя с целочисленным значением позволяет получить доступ к переменной, адрес
которой больше на величину этого целочисленного значения. Суммировать два указате-
ля синтаксис языка С++ не позволяет. Операция вычитания указателя и целочисленного
значения позволяет, соответственно, получить доступ к переменной, адрес которой
меньше на величину этого целочисленного значения. Разность двух указателей позволя-
ет определять объем (в байтах) между двумя участками памяти, а также количество пе-
ременных определенного типа в данном объеме. Увеличение или уменьшение указателя
на единицу позволяет переместить его к соседнему элементу в памяти. Синтаксис языка
С++ позволяет определять указатель на указатель. Примеры.
int x=23;
int *p=&x;
int *pp=&p;
int *ppp=&pp;
§ 2.5. Массивы.
Массив - совокупность данных, имеющих одинаковые характеристики и разме-
щающихся по порядку в выделенной области памяти. Язык С++ не накладывает ограни-
чений на размерность массива. Нумерация элементов массива всегда начинается с нуля.
При описании массива, а также при использовании его отдельных элементов индекс по
каждому измерению указывается отдельно в прямоугольных скобках. Командная строка.
имя_массива [индекс];
В отличие от других алгоритмических языков программирования, после выделения
памяти для массива, его имя воспринимается как указатель того типа, к которому отне-
сены элементы массива. Значением имени массива является адрес его первого элемента.
Пример. Определение одномерного массива типа type:
type имя_массива [константное_выражение];
где имя_массива - идентификатор, константное_выражение определяет количество эле-
ментов в массиве. Возможно описание массива без указания количества его элементов (без
константного_выражения). В данном случае определение массива происходит в другой час-
ти программы, где ему выделяется память. При определении массива может выполняться
его инициализация, т.е. присвоение конкретных значений его элементам. Список значений
элементов массива должен быть заключен в фигурные скобки. Явная инициализация эле-
ментов массива разрешена только при его определении и возможна либо с указанием раз-
мера массива в квадратных скобках, либо без явного указания. Пример.
char s[]={'h','y','u','p','o'};
int x[4]={2,5,8,12};
40
     Основными операциями над указателями являются:
- доступ по адресу;
- приведение типов;
- присваивание;
- получение адреса (&);
- сложение и вычитание;
- авто увеличение(++) и уменьшение(−−);
- сравнение.
     Первые четыре операции рассмотрены выше. Использование операции сложения
указателя с целочисленным значением позволяет получить доступ к переменной, адрес
которой больше на величину этого целочисленного значения. Суммировать два указате-
ля синтаксис языка С++ не позволяет. Операция вычитания указателя и целочисленного
значения позволяет, соответственно, получить доступ к переменной, адрес которой
меньше на величину этого целочисленного значения. Разность двух указателей позволя-
ет определять объем (в байтах) между двумя участками памяти, а также количество пе-
ременных определенного типа в данном объеме. Увеличение или уменьшение указателя
на единицу позволяет переместить его к соседнему элементу в памяти. Синтаксис языка
С++ позволяет определять указатель на указатель. Примеры.

      int x=23;
      int *p=&x;
      int *pp=&p;
      int *ppp=&pp;

     § 2.5. Массивы.

     Массив - совокупность данных, имеющих одинаковые характеристики и разме-
щающихся по порядку в выделенной области памяти. Язык С++ не накладывает ограни-
чений на размерность массива. Нумерация элементов массива всегда начинается с нуля.
При описании массива, а также при использовании его отдельных элементов индекс по
каждому измерению указывается отдельно в прямоугольных скобках. Командная строка.

      имя_массива [индекс];

     В отличие от других алгоритмических языков программирования, после выделения
памяти для массива, его имя воспринимается как указатель того типа, к которому отне-
сены элементы массива. Значением имени массива является адрес его первого элемента.
Пример. Определение одномерного массива типа type:

      type имя_массива [константное_выражение];

где имя_массива - идентификатор, константное_выражение определяет количество эле-
ментов в массиве. Возможно описание массива без указания количества его элементов (без
константного_выражения). В данном случае определение массива происходит в другой час-
ти программы, где ему выделяется память. При определении массива может выполняться
его инициализация, т.е. присвоение конкретных значений его элементам. Список значений
элементов массива должен быть заключен в фигурные скобки. Явная инициализация эле-
ментов массива разрешена только при его определении и возможна либо с указанием раз-
мера массива в квадратных скобках, либо без явного указания. Пример.

      char s[]={'h','y','u','p','o'};
      int x[4]={2,5,8,12};

                                         40