Разница между указателем и ссылкой
Автор:
Laura McKinney
Дата создания:
1 Апрель 2021
Дата обновления:
10 Май 2024
Содержание
«Указатель» и «ссылка» используются для указания или ссылки на другую переменную. Но основное различие между ними состоит в том, что переменная-указатель указывает на переменную, чья ячейка памяти хранится в ней. Ссылочная переменная является псевдонимом для переменной, которая ей назначена. В приведенной ниже сравнительной таблице рассматриваются другие различия между указателем и ссылкой.
- Сравнительная таблица
- Определение
- Ключевые отличия
- Вывод
Сравнительная таблица
Основа для сравнения | Указатель | Ссылка |
---|---|---|
основной | Указатель является адресом памяти переменной. | Ссылка является псевдонимом для переменной. |
Возвращает | Переменная указателя возвращает значение, расположенное по адресу, хранящемуся в переменной указателя, которому предшествует знак указателя *. | Ссылочная переменная возвращает адрес переменной, перед которой стоит знак ссылки &. |
операторы | *, -> | & |
Нулевая ссылка | Переменная-указатель может ссылаться на NULL. | Ссылочная переменная никогда не может ссылаться на NULL. |
инициализация | Неинициализированный указатель может быть создан. | Неинициализированная ссылка никогда не может быть создана. |
Время инициализации | Переменная-указатель может быть инициализирована в любой момент времени в программе. | Ссылочная переменная может быть инициализирована только во время ее создания. |
переинициализация | Переменная-указатель может быть повторно инициализирована столько раз, сколько требуется. | Переменная-ссылка никогда не может быть повторно инициализирована в программе. |
Определение указателя
«Указатель» - это переменная, которая содержит место в памяти другой переменной. Операторы, используемые переменной-указателем - это * и ->. Объявление переменной указателя содержит базовый тип данных, за которым следуют знак «*» и имя переменной.
тип * var_name;
Давайте разберем указатель с помощью примера.
int a = 4; int * ptr = & a; cout <тогда как, оператор ссылки - &.
Заметка:
Java не поддерживает указатели.
Вывод
Указатель и ссылка используются для указания или ссылки на другую переменную. Но оба отличаются по своему использованию и реализации.