Если я правильно понял, вы хотите определить часть списка инициализаторов массива в одном файле и оставить остаток списка инициализаторов в другом файле.
Это случай, когда, да, вы можете это сделать - но ИМО вы, вероятно, не хотите. Я думаю, что он хрупкий, склонный к неудаче, неудобно поддерживать, и для себя я не могу представить , почему это понадобится. Однако, если вы настаиваете, вот реализация того, как это можно сделать:
array_test.ч
unsigned char codes[95][8] = {
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 134, 255, 255, 255, 255, 255,
255, 143, 255, 143, 255, 255, 255, 255,
235, 128, 235, 143, 235, 255, 255, 255,
237, 213, 128, 213, 219, 255, 255, 255,
157, 155, 247, 226, 220, 255, 255, 255,
201, 112, 170, 221, 250, 255, 255, 255,
255, 175, 129, 255, 255, 255, 255, 255,
255, 227, 221, 190, 255, 255, 255, 255,
255, 190, 221, 227, 255, 255, 255, 255,
235, 247, 193, 247, 235, 255, 255, 255,
247, 247, 193, 247, 247, 255, 255, 255,
255, 250, 249, 255, 255, 255, 255, 255,
247, 247, 247, 247, 247, 255, 255, 255,
255, 252, 252, 255, 255, 255, 255, 255,
253, 251, 247, 239, 223, 255, 255, 255,
193, 186, 182, 174, 193, 255, 255, 255,
255, 222, 128, 254, 255, 255, 255, 255,
222, 188, 186, 182, 206, 255, 255, 255,
189, 190, 174, 150, 185, 255, 255, 255,
array_test.c
#include <stdio.h>
#include "array_test.h"
247, 247, 193, 247, 247, 255, 255, 255,
255, 250, 249, 255, 255, 255, 255, 255,
247, 247, 247, 247, 247, 255, 255, 255,
255, 252, 252, 255, 255, 255, 255, 255,
253, 251, 247, 239, 223, 255, 255, 255,
193, 186, 182, 174, 193, 255, 255, 255,
255, 222, 128, 254, 255, 255, 255, 255,
222, 188, 186, 182, 206, 255, 255, 255,
189, 190, 174, 150, 185, 255, 255, 255
};
int main(int argc, char **argv)
{
printf("whatever\n");
}
Обратите внимание, что список инициализатор codes
не прекращается в array_test.h
(другими словами, нет };
в конце списка initalizer для codes
), так продолжение списка должно немедленно следовать за включением "array_test.h"
. Это также делает программу нечетной - при просмотре array_test.c
продолжение списка инициализатора представляется синтаксически неправильным, и все же оно компилируется (используя cc array_test.c
на HP-UX). Я не рекомендую это делать, но это интересный случай, о котором я раньше не думал.
Удачи.
просто включите этот файл заголовка в исходный файл, например #include "array_hearder.h" –