Другие языки программирования и технологии

C++ непонимаю что такое указатель?

Я куча видео посмотрел и не понял, можете кто нибудь объяснить по проще, я понял что такое амперсант "&" а вот, "*" понять не могу, помогите.
У меня предположение типо указатель он для игры например патроны. Int *a = 100;
Int b = a;
Типо если в игре отображается b и попытаться изменить то не получится, а если изменить int a, то получитчя, я просто непонимаю у меня такое предположение
Указатель это переменная, которая хранит адрес. Поэтому встаёт резонный вопрос об инициализации. Для этого используется операция взятия адреска – амперсанд используется для этих целей. А чтобы получить доступ к значению, указатель нужно разыменовывать – для этой задачи испльзуется звёздочка.

int variable = 8; // создали переменную
int* pointer = &variable; // создали указатель и взяли адрес переменной
int value = *pointer; // разыменовали указатель и присвоили значение
*pointer = 9; // изменили значение переменной variable через разыменованный указетель
std::cout << " variable: " << variable << "\n value: " << value << '\n';
ИЛ
Иван Левен
90 195
Лучший ответ
Ты даже не понимаешь, что "не" с глаголами в русском языке пишется ОТДЕЛЬНО.

Какие уж тебе указатели?!
Cерёга Арутюнян Я сказал меня русскому учить? Я просил помочь, а не говорить какой вы умный
Это
Int *a = 100;
Int b = a;
работать не будет уже потому, что тип int, но и в этом случае ты пишешь
int* = int; // это в Int *a = 100; и покажет ошибку, можешь проверить, если веришь ответившему выше, надо преобразование типов делать, но это уже к другому вопросу.
А указатели есть сложная тема в си, для разбора ее хорошо бы первым языком изучить ассемблер, тогда и си проще покажется.
Указатель - это адрес данных в памяти. Предположим int* a = 100; означает, что данные будут хранится по адресу 100. И в эту ячейку можно записать какие-нибудь данные.
Чтобы получить данные надо обратиться к ячейке так - *a.
& - означает взятие адреса ячейки.
Предположим у вас есть переменная int b = 418 и вы хотите узнать, где эта переменная, тогда вы можете узнать адрес этой переменной.
Именно указатели делают Си и С++ таким, какой он есть с его преимуществами и недостатками.
Cерёга Арутюнян Не очень понял что указателем "*"? Типо если int* a = 100; То что?
И если int *a = 100; то, что
Я С++ не знаю, но знаю Паскаль. Если Указатель в Паскале и в С++ одно и тоже, что, я думаю, так и есть, то кратко объясню. Указатель - это такая переменная в статической памяти, которая может хранить в себе адрес на ячейку памяти в динамической памяти. Они в основном нужны для экономии памяти. В С++ я видел, их почти так же используют, но я только пару примеров видел
указатель - это штука, которая указывает на адрес ячейки памяти, в которой объявлена переменная