Как реализовать указатели в C ++?



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

Указатели в C ++ - это переменная, которая содержит адрес другой переменной в C ++. Адрес хранится в переменной указателя и помогает в реализации вызова по ссылке.

Следующие указатели будут рассмотрены в этой статье,





Начнем с этой статьи о указателях на C ++

Синтаксис:



тип данных * имя-указателя ПРИМЕР: int * ptr
  • Перед именем переменной-указателя стоит знак *.
  • Указатель также называется локатором или индикатором.

Использование указателя:

  • Распределение динамической памяти
  • В различных программах массивов, структуры и функций

Вот пример кода:

#include с использованием пространства имен std int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

Вывод:
Вывод - указатели в C ++ - Edureka



Пояснение:

В приведенной выше программе мы показываем базовую работу указателя. У нас есть целочисленная переменная num со значением 17. У нас есть переменная-указатель ptr типа int. Присваиваем адрес num указателю ptr.

Сначала мы печатаем значение ptr, то есть адрес. Затем мы печатаем значение num и в конце печатаем значение в том месте, где находится указатель ptr.

Продолжаем эту статью о указателях на C ++

Указатели и массивы:

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

Вот пример кода:

#include с использованием пространства имен std int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 Вывод: 

Пояснение:

В приведенной выше программе мы показываем базовую работу указателя с массивом. У нас есть массив arr со значениями 5,10,20. У нас есть указатель на переменную ptr типа int. Присваиваем адрес arr указателю ptr.

Сначала мы печатаем значение ptr [0], то есть первого элемента массива. Далее печатаем второй и третий элементы соответственно. Поскольку элементы массива сохраняются последовательно, указатель может получить доступ к другому местоположению массива путем увеличения.

Продолжаем эту статью о указателях на C ++

Нулевые указатели:

Существуют типы указателей, которые не имеют значения и содержат нулевое значение.

пример :

разница между c c # и c ++
int * ptr = NULL

Они очень полезны в структурах данных, таких как связанный список.

Продолжаем эту статью о указателях на C ++

Указатели пустоты:

Это тип указателей, у которых нет возвращаемого типа.

Продолжаем эту статью о указателях на C ++

Указатель арифметической операции:

С указателями можно выполнять разные операции. Вот несколько важных типов.

  • увеличенный (++)
  • уменьшенный (-)
  • разница между двумя указателями (p1-p2)
  • добавление целого числа к указателю (+ или + =)
  • вычитание целого числа из указателя (- или - =)

Вот код для демонстрации некоторых из этих операций:

#include с использованием пространства имен std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr for (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

Вывод:

Пояснение:

Мы демонстрируем простую арифметическую операцию увеличения переменной-указателя, показанную в приведенной выше программе.

Продолжаем эту статью о указателях на C ++

Указатель на указатель:

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

Вот пример кода:

#include с использованием пространства имен std int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

Вывод:

Продолжаем эту статью о указателях на C ++

установить php 7 на windows

Указатель на функции:

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

#include с использованием пространства имен std float getAverage (int * arr, int size) int main () {int balance [5] = {1432, 232, 3232, 17, 502} float avg avg = getAverage (balance, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


Вывод

Вот как мы передаем указатель на функцию.

На этом мы подошли к концу статьи, посвященной указателям в C ++. Если вы хотите узнать больше, ознакомьтесь с от Edureka, надежной компании онлайн-обучения. разработан для обучения вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого блога, и мы свяжемся с вами как можно скорее.