Мені не сподобалася жодна з цих відповідей, тому я зробив свою власну. Я не знаю, це ANSI C чи ні, це просто GCC 4.2.1 в режимі за замовчуванням. Я ніколи не пам'ятаю брекетинг, тому я починаю з підмножини своїх даних і борюся з повідомленнями про помилки компілятора, поки воно не закриється. Читання - мій перший пріоритет.
// in a header:
typedef unsigned char uchar;
struct fields {
uchar num;
uchar lbl[35];
};
// in an actual c file (I have 2 in this case)
struct fields labels[] = {
{0,"Package"},
{1,"Version"},
{2,"Apport"},
{3,"Architecture"},
{4,"Bugs"},
{5,"Description-md5"},
{6,"Essential"},
{7,"Filename"},
{8,"Ghc-Package"},
{9,"Gstreamer-Version"},
{10,"Homepage"},
{11,"Installed-Size"},
{12,"MD5sum"},
{13,"Maintainer"},
{14,"Modaliases"},
{15,"Multi-Arch"},
{16,"Npp-Description"},
{17,"Npp-File"},
{18,"Npp-Name"},
{19,"Origin"}
};
Дані можуть почати життя як файл з обмеженими вкладками, який ви шукаєте-замінюєте, щоб зробити масаж у щось інше. Так, це речі Debian. Отже одна зовнішня пара {} (із зазначенням масиву), потім ще одна пара для кожної структури всередині. З комами між. Розміщення речей у заголовку не є строго необхідним, але у мене в структурі близько 50 елементів, тому я хочу, щоб вони були в окремому файлі, обидва не дозволяли заплутатись від мого коду, і тому його легше замінити.