В C, есть ли хороший способ определить длину сначала, строки в стиле Pascal как константы, чтобы их можно было помещать в ПЗУ? (Я работаю с небольшой встроенной системой с компилятором ANSI C, отличным от GCC).
С-строка 0
завершена, например. { 'f'
, 'o'
, 'o'
, 0
}.
Строка Pascal имеет длину в первом байте, например. { 3
, 'f'
, 'o'
, 'o'
}.
Я могу объявить C-строку, которая будет помещена в ПЗУ, с помощью:
const char *s = "foo";
Для строки Pascal я могу вручную указать длину:
const char s[] = {3, 'f', 'o', 'o'};
Но это неудобно. Есть ли способ лучше? Возможно, в препроцессоре?