Я совершенно новый в C, что я пытаюсь сделать, это определить указатель с постоянным адресом, это моя попытка в testHeader.h :Как определить глобальную константу указателя char в C и переопределить значение poiting во всех файлах
char const *MY_VAR_P = (char * const)(0x4fffff);
extern char MYVAR;
затем в глобальной из test.c (но я получил в виду, чтобы использовать тот же самый указатель с тем же адресом в других .c файлов ...):
#include "testHeader.h"
char MYVAR = '0';
*MY_VAR_P = MYVAR;
и это ошибка:
test.c:33: warning: type defaults to `int' in declaration of `MY_VAR_P'
test.c:33: conflicting types for `MY_VAR_P'
test.h:2: previous declaration of `MY_VAR_P'
test.c:33: warning: initialization makes pointer from integer without a cast
test.c:33: initializer element is not constant
Я действительно не понимаю ... пожалуйста, кто-нибудь может мне помочь?
спасибо!
изменения 'символ * сопзИте MY_VAR_P = (символ * сопзИ) (0x4fffff) и' * MY_VAR_P = MYVAR; ' переместитесь внутрь функции. – BLUEPIXY