Вопрос

Я наткнулся на линию, которая дана ниже

           char *ch=(char*)3000

Я хочу знать значение этой линии .....

Нет правильного решения

Другие советы

Похоже на указатель, CH, назначается абсолютный адрес памяти 3000. Вообще очень плохой идею, если вы не работаете над встроенной системой без подкачки, и вы знаете, точно Что в память о местонахождении 3000.

Может быть, что остальная часть кода будет актуальна ...

Этот указатель может быть относительным к сегмент в котором он находится (на процессорах Intel). В этом случае 3000 Может быть просто индекс в этот сегмент, определенный ранее в программе, где у нас нет строк.

Это зависит от архитектуры системы, окружающей среды, ОС, компилятора, остальной части кода (и программатора ...).

Разве это не очевидно?

Численное значение «3000» отливается на указатель Char, т. Е. ch инициализируется до адреса памяти 3000 (десятичный).

AFAIK, 3000 не является специальным адресом / ценностью, и в большинстве случаев доступа к нему, приведет к неисправности сегментации или значение мусора.

Если вы увидите, что в коде, возможно, неверно используется вместо (void *), скажем, в случае отображений, где у вас есть пары клавишных значений, результат может быть выброшен в целое число в этом случае.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top