Разница между указателем и ссылкой (с таблицей)

Оглавление:

Anonim

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

Указатель против ссылки

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

Указатель - это та переменная, значение которой имеет адрес или расположение другой переменной. Их можно инициализировать в любом месте программы с такими операторами, как «*» и «->». Переменную-указатель также можно сделать нулевой, и они также поддерживают повторную инициализацию. Указатели объявляются по базовому типу данных, за которым следуют звездочка и имя указателя.

Ссылка - это та переменная, у которой есть другое имя для уже тонкой переменной программы. Как только ссылочная переменная создана, ее следует инициализировать. Создает псевдоним другой переменной. Оператор & используется для ссылок на дизайн. Они состоят из базового типа данных, за которым следует "&" и имя переменной.

Таблица сравнения указателя и ссылки

Параметры сравнения

Указатель

Ссылка

Определение Переменная, которая содержит адрес памяти другой переменной, называется переменной-указателем. Ссылка - это псевдоним другой переменной, ссылка на нее.
Пустая ссылка Указателю может быть присвоено нулевое значение. Ссылочной переменной не присвоено нулевое значение.
Синтаксис Тип данных * PointerName; Где Datatype - это базовый тип данных, а PointerName - это имя объявленного указателя. Тип данных и имя ссылки = Другая переменная; Где ReferenceName - это имя ссылки, а AnotherVariable - это переменная, на которую имеется ссылка.
Инициализация Возможно создание неинициализированных указателей. Ссылки никогда не могут быть созданы в неинициализированном
Повторная инициализация Переменные-указатели могут быть инициализированы снова и снова в программе по мере необходимости. Ссылочная переменная может быть инициализирована в программе только один раз.

Что такое указатель?

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

int * переменная-указатель;

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

pointervariable = & a;

Здесь a - целочисленная переменная, используемая в другой стороне программы, адрес которой хранится в указателе переменной. Указатели также допускают повторную инициализацию. Их значения могут быть изменены по мере необходимости.

Что такое ссылка?

Ссылочная переменная - это псевдоним для другой переменной. Другими словами, переменная, которая ссылается на другую вспомогательную переменную программы, рассматривается как ссылочная переменная.

У них есть ограничение: они не могут быть присвоены нулевому значению и не могут быть объявлены, они только инициализируются. После создания ссылки переменная может быть доступна по имени ссылки или по ее исходному имени. Ссылки инициализируются напрямую. Пример,

int & ref = var;

Здесь ссылка - это имя ссылочной переменной, и она указывает на переменную var, которая инициализируется в другой части программы. Когда значения ref и var печатаются, ref и var имеют одинаковое значение. Указатели полезны для экономии памяти, потому что, когда они передаются в качестве аргументов функции, они используют исходную ячейку памяти для каждого вызова функции.

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

Основные различия между указателем и ссылкой

Вывод

Указатели и ссылки - это обширные концепции с различными приложениями, в основном на C и C ++. Тем не менее, оба они должны использоваться с надлежащими потребностями и требованиями перед внедрением. Ссылочные переменные не требуют повторной инициализации или переназначения, и они экономят место, поскольку создают избыточные множественные локальные копии типов данных при передаче в качестве аргументов функции. Указатели также необходимы, поскольку в них можно хранить нулевые значения.

Ссылка всегда должна относиться к чему-то, должна быть инициализирована и не может быть изменена. Указатели имеют возможность многократного использования. Это дает им возможность повторной инициализации без ссылок.

использованная литература

Разница между указателем и ссылкой (с таблицей)