Пример 1 Массив символов в С++ представляет собой строку символов. При этом строка символов обязательно заканчивается признаком конца, которым служит символ ‘\0’

Цели изучения темы

· изучить работу с одномерными и двумерными массивами;

· изучить работу с указателями.

Объявление массива

Массив – это множество однотипных данных, объединенных под одним именем. Формат объявления массива: <тип элементов массива> <имя массива>[количество элементов массива] где тип элементов массива – любой тип данных языка С++ Пример

int mas[3]; // объявлен массив из 3 целых чисел

Нумерация в массивах начинается с нуля. Поэтому массив mas содежит элементы, которые обозначаются: mas[0], mas[1], mas[2].

Массив можно инициализировать при объявлении. В этом случае нет необходимости указывать его размер.

Пример int mas[]={23, 25, 81}; // объявлен и инициализирован массив из 3 целых чисел

Элементы массива mas получили значения:

mas[0]= 23,mas[1]= 25,mas[2]= 81.

Массив символов в С++ представляет собой строку символов. При этом строка символов обязательно заканчивается признаком конца, которым служит символ ‘\0’.

Пример char city [ ] = "Москва";

Массив city будет содержать строку из 7 элементов: 6 букв и 0-символ. 0-символ является признаком конца строки, в программе он обозначается \0.

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

Можно описать название города по-другому:

char city1[ ] = {'М', 'о', 'с', 'к', 'в', 'а' }

Массив city1 – это массив символов; он будет содержать 6 элементов (символов).

Примечание. В одинарных кавычках (апострофах) ‘b’ записывают символы, в двойных – строки символов, потому что последний символ строки символов – признак конца строки ‘\0’. Поэтому ‘b’ – это один символ, а “b” – два (символ b и символ конца строки).


Объявленные выше массивы city и city1 в памяти ПК представлены следующим образом:

City City1
  М   М
  О   о
  С   с
  К   к
  В   в
  А   а
  /0    

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

city [0]='м';

Доступ к элементам массива

В языке C++ имя массива представляет собой не только имя, которое вы используете в своих программах, но и является адресом, по которому в памяти находится первый элемент массива. Поэтому к элементам массива можно обращаться двумя способами: по индексу элемента и по смещению относительно первого элемента.

Пример

int m[6] = {4, 3, 1, 4, 7, 8 }; Обращение к 4-му элементу массива m:m[3] – по индексу(m + 3)[0] – по смещению относительно первого элемента

Возможны и другие варианты:

(m + 0)[3](m + 2)[1](m - 2)[5]

Наиболее полезно использовать такой подход к массивам, содержащим символьные строки.

Пример

char names [ ]={'Иван', 'Петр', 'Елена' }

Массив names будет выглядеть в памяти следующим образом:

  И
  В
  А
  Н
  \0
  П
  Е
  Т
  Р
  \0
  Е
  Л
  Е
  Н
  А
  \0

Команды вывода дают следующий результат:

cout << names; // выводится «Иван» (до признака конца строки)

cout << names+5; // выводится «Петр»

Многомерные массивы

Многомерный массив – это массив, в котором элементы имеют более чем один индекс.

Чаще всего используются двумерные массивы.

При объявлении многомерного массива необходимо указать C++, что массив имеет более чем одно измерение.

Формат объявления двумерного массива: <тип элементов массива> <имя массива>[количество строк][количество столбцов]

Пример 1

int t[3][4]; // описывается двумерный массив, состоящий из 3 строк и 4 столбцов

Элементы массива:

t[0][0] t[0][1] t[0][2] t[0][3]t[1][0] t[1][1] t[1][2] t[1][3]t[2][0] t[2][1] t[2][2] t[2][3]

При выполнении команды объявления массива под массив резервируется место. Элементы массива располагаются в памяти один за другим:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: