Создать указатель для постоянного адреса ячейки памяти (программирование на C) - PullRequest
0 голосов
/ 11 октября 2011

Вопрос

1.) Можно ли объявить переменную-указатель для ссылки на адрес памяти константы? это не работает, значит ли это, что мы не можем это сделать?

Ответы [ 3 ]

5 голосов
/ 11 октября 2011

Нет.Вы должны сделать это:

const int x = 20;
const int* p = &x;
0 голосов
/ 11 октября 2011

Нет, буквальные константы, такие как 20, не являются объектами и поэтому не имеют адресов.

В отличие от const квалифицированных переменных, как в ответе АлексаКак и все переменные, они ссылаются на объект, и поэтому вы можете взять их адрес.Но имейте в виду, что вам нужно иметь указатель на квалифицированный тип const.

0 голосов
/ 11 октября 2011

Да, это так.

void * ptr = 0xdeadcode;

Не делай этого.

Редактировать: Или вы имеете в виду адрес постоянного, а не постоянного адреса? Как:

const int n = 123;
const int *ptr = &n;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...