У меня есть заголовочный файл, который содержит все командную строку, как показано ниже:Декларирование глобального массива символов в заголовочном файле C
const char AT_RSSI[] = "ATRSSI\r\n";
const char AT_DEVICE_SECURITY[] = "ATDS";
Но, используя этот метод, каждый из полукокса предложения прилагается с \ 0 в конце и это неудобно, как мне нужно, чтобы удалить 1 символ, каждый раз, когда я использую() метод SizeOf
Существует еще одно решение заключается в использовании
//header file
extern const char *AT_RSSI;
//some.c
const char *AT_RSSI = "ATRSSI\r\n";
и объявить его в одном из файла .c, но я не как этот подход. Я хочу, чтобы вся моя константная переменная была объявлена в заголовочном файле
Могу ли я узнать, как объявить постоянный массив переменных глобальной переменной, который может быть включен в файл .c?
Что вы делаете, что вы хотите вещи, которые выглядят как строки, но не являются пустой -терминирован, и вы также хотите получить длину указанных не-строк с 'sizeof', а не' strlen'?!?! – Hurkyl
@Hurkyl да, я мог бы использовать этот strlen – Tim
По крайней мере, вам нужно прочитать [Как использовать 'extern' для обмена переменными между исходными файлами в C?] (Http://stackoverflow.com/questions/1433204) В частности, вы не можете надежно инициализировать переменные в заголовке - не просто. Если вы это сделаете, заголовок может использоваться только одним исходным файлом в вашей программе. Использование 'char *' вместо массивов просто уничтожает пространство, сохраняя указатели. И он не теряет завершающий нулевой байт. –