Объявление строк в стиле Паскаля в C

Есть ли в C хороший способ сначала определить длину, строки в стиле Паскаля как константы, чтобы их можно было поместить в ПЗУ? (Я работаю с небольшой встроенной системой с компилятором ANSI C, отличным от GCC).

C-строка завершается 0 , например. { 'f' , 'o' , 'o' , 0 }.

Строка Паскаля имеет длину в первом байте, например. { 3 , 'f' , 'o' , 'o' }.

Я могу объявить C-строку, которая будет помещена в ROM с помощью:

const char *s = "foo";

Для строки Pascal я мог бы вручную указать длину:

const char s[] = {3, 'f', 'o', 'o'};

Но это неудобно. Есть ли способ лучше? Возможно, в препроцессоре?

20
задан Joby Taffey 4 October 2011 в 14:19
поделиться