214 похожих чатов

Вопрос: Как в с/с++ записать в переменную значение по указателю

так чтобы при изменении значения по указателю значение переменной тоже менялось? Или как изменить данный код чтобы он выводил "1 1"

#include <iostream>
using namespace std;

int main() {
int *p = new int;
int a = *p;
int b = *p;
a = 1;
cout << a << ' ' << b;
return 0;
}

13 ответов

12 просмотров

Попробуй *p=1

Вы создаёте сначала переменную, а потом указатель на неё. Разыменовывая указатель, вы получаете доступ к самой переменной.

Ерг- Автор вопроса
Никита
Вы создаёте сначала переменную, а потом указатель ...

А если у меня есть доступ только к указателю?

Ерг
А если у меня есть доступ только к указателю?

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

Ерг- Автор вопроса
Никита
Просто создайте ещё один указатель на ту область п...

Можно и так, просто как-то странно, что переменную указателем я могу заменить, а указатель переменной нет.

Ерг
Можно и так, просто как-то странно, что переменную...

Указатель просто содержит адресс ячейки памяти. Гипотетически память, занимаемую указателем, можно интерпретировать, как число, только до конца не ясно, зачем?

Никита
Указатель просто содержит адресс ячейки памяти. Ги...

Ну как бы, чтобы можно было использовать арифметику указателей

Федор Ченцов
Ну как бы, чтобы можно было использовать арифметик...

Арифметика указателей пусть в чём-то и похожа на работу с числами, но чисто субстантивно реализует качественно отличающееся поведение.

Никита
Арифметика указателей пусть в чём-то и похожа на р...

Арифметика указателей — очень мощный инструмент

Федор Ченцов
Каво блять

Ну короче, арифметика указателей - это другое, понимать надо.

Никита
Ну короче, арифметика указателей - это другое, пон...

Ну по смыслу, когда мы через оператор [] скобки, мы просто добавляем к его адресу +i в шестнадцатеричной системе исчисления, а так как массив состоит из одного типа данных, то делая шаг по столько байт, сколько весит один элемент мы итерируемся по непрерывному блоку памяти, массиву

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта