Указатели в 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' }
Вывод:
Пояснение:
В приведенной выше программе мы показываем базовую работу указателя. У нас есть целочисленная переменная 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.
Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого блога, и мы свяжемся с вами как можно скорее.