Массив указателей C++

C++ Программирование и разработка

Массив содержит список элементов в соответствии с размером, который мы предоставляем во время создания массива. Тогда как в C ++ указатели — это переменные, которые имеют адреса других переменных. Эти указатели имеют адрес одной переменной и могут хранить адрес ячеек массива. И массивы, и указатели очень тесно связаны друг с другом, так как в C ++ имя массива считается указателем, потому что оно состоит из адреса элемента. Следовательно, массив содержит элементы, а указатели содержат адреса переменных. Таким образом, массив указателей или «массив указателей» представляет собой массив с адресами элементов, присутствующих в массиве. Эта тема будет содержать феномен массива указателей в C ++.

Синтаксис

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

# type *pointer_name [array_size];

Согласно синтаксису, если вы хотите создать массив указателей, мы определяем тип указателя массива. После этого объявляется имя массива указателей. Как видно из синтаксиса, «*» используется с именем указателя в C ++. После присвоения имени массиву объявляется размер массива, который показывает, сколько элементов будет присутствовать в массиве.

# Int *newp[5];

Работа с массивом указателей в C ++

Значение указателя указывает на адрес значений, присутствующих внутри массива. Если вы хотите получить доступ к значениям, мы можем получить доступ к каждому значению, используя их адрес, потому что он указывает только на этот конкретный адрес. Использование указателей делает функциональные операции более эффективными, а также влияет на уровень производительности. Теперь мы увидим, как объявить массив указателей.

Поскольку мы использовали образец объявления массива указателей выше.

# Int *newp[5];

В этой строке выше мы объявили массив указателей, состоящий из 5 элементов. Этот массив будет содержать адрес значений в нем. Адрес — это расположение элемента, в памяти которого хранится массив. Этот адрес памяти всегда переводит точку на элемент, который хранится в этом месте.

Читайте также:  Strcat в C

Создание массива указателей в C ++

Есть несколько шагов по созданию массива указателей в C ++

Сначала мы создаем массив, содержащий элементы. Предположим, у нас есть 5 элементов.

# Int newarray [5] = {1,2,3,4,5};

После этого мы создаем массив указателей, в котором хранятся адреса элементов массива.

# Int «newp[5];

Если вы хотите получить адрес элементов в массиве, используйте оператор ’&’, это даст нам адрес значений в памяти.

# Newp[1]= &newp[1];

После этого адрес элементов сохраняется в массивах указателей с помощью цикла.

Теперь мы можем получить доступ к элементам в массиве с помощью указателей; он предоставит такое же значение. Теперь мы будем использовать здесь несколько элементарных примеров, которые помогут вам в понимании концепции.

Пример 1

В этом примере мы просто отобразили значения внутри массива. Но на этот раз это делается не путем отображения значений через внутреннее число, а с помощью указателей. Итак, первым шагом в основной программе мы динамически создаем массив размером 5.

# Int*p = new int[5];

После этого, как мы уже писали ранее в разделе темы «Создание массива указателей в C ++», массив инициализируется числами. Мы будем использовать цикл for для ввода значений в соответствующие индексы. Это делается через указатели. «10» здесь является константой, которая используется для умножения значения на следующее; это разумный подход к присвоению значений.

# 2[p]

Теперь значение p равно 1, поэтому после умножения оно будет равно 2 в точке.

Теперь значение p равно 1, поэтому после умножения оно

Например, когда цикл повторяется в первый раз, значение «I» будет равно «0», поэтому в скобках оно будет добавлено с 1, оно станет 1, а после умножения на константу результат будет равен самой константе. Для второго индекса на следующей итерации, когда значение I равно «1», после сложения с 1 оно будет равно 2, поэтому при умножении на 10 оно станет 20. И так далее на каждой итерации. пока вводимое значение не будет равно 50. В случае отображения значений с помощью указателей мы использовали разные методы; они, несомненно, будут полезны для понимания перспективы. Первый оператор предоставления вывода содержит:

# *p

Поскольку мы знаем, что этот символ ’*’ отображает адрес, следует иметь в виду одну вещь: когда мы используем указатель для отображения значения без использования индекса, он автоматически присваивает первое значение по умолчанию, результатом будет 10. Следующее:

# *p + 1

Он просто добавит единицу к значению по умолчанию, поэтому ответ будет 11. При переходе к следующему значению,

# *(p + 1)

На этот раз мы поговорим об индексе, но не об адресе, поскольку «*» не соответствует p. Таким образом, он обозначает «0», этот 0 будет добавлен к 1 и образует * (1), поэтому в позиции 1 это 20, поэтому оно будет отображаться.

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

Для получения результирующего значения перейдите в терминал Linux и используйте компилятор g ++ для компиляции и выполнения кода.

$ g++ -o array array.c
$./array

Для получения результирующего значения перейдите в терминал Linux

Пример 2

Этот пример относится к отображению адресов с использованием массивов и указателей для отображения разницы между ними. Для этого в основной программе мы объявляем массив с типом данных float. Объявлена ​​переменная указателя с плавающей запятой.

# *ptr;

Теперь с помощью этого указателя мы сможем отобразить адрес. Но сначала давайте отобразим адрес элементов с помощью массива. Это делается с помощью цикла FOR. Это простой и общий способ отображения содержимого массива через номер индекса.

# Ptr = arr;

Используя обозначения указателей, мы будем отображать адрес через указатели. И снова цикл FOR используется для отображения адреса через указатель.

Используя обозначения указателей, мы будем отображать адрес через указатели

Снова используйте компилятор g ++ для компиляции, а затем выполните код в терминале Linux, чтобы отобразить полученные значения.

Снова используйте компилятор g ++ для компиляции

По мере выполнения кода вы увидите, что ответ для обоих методов одинаков; либо через массив, либо через указатели получается тот же результат.

Вывод

Массив указателей используется в C ++ в операционной системе Ubuntu Linux для уточнения извлечения данных через адрес и массивы. Эта статья была посвящена массиву указателей в C ++. Мы подробно рассмотрели синтаксис и несколько примеров, связанных с указателями. Эти примеры могут быть реализованы на любом компиляторе по выбору пользователя.

Оцените статью
bestprogrammer.ru
Добавить комментарий