|
|
  |
поместить массив в массив |
|
|
|
Jan 8 2008, 17:52
|
Гуру
     
Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923

|
привет всем. Сейчас делаю программку для графического дисплея. Символы и буквы хранятся в массиве: code unsigned char A1[9] = {0x80,0xE0,0x9C,0x13,0x13,0x9C,0xE0,0x80,0x00}; //À code unsigned char A2[7] = {0x81,0xFF,0x89,0x89,0x89,0x73,0x00}; //Á code unsigned char A3[7] = {0x81,0xFF,0x89,0x89,0x89,0x76,0x00}; //Â code unsigned char A4[7] = {0x81,0xFF,0x81,0x01,0x01,0x07,0x00}; //Ã code unsigned char A5[7] = {0xE0,0x31,0x2F,0x21,0x3F,0xE1,0x00}; // Было бы не плохо поместить эти массивы в один массив чтобы один элемент соответствовал одному из этих массивов.
Наподобие такого:
char arrr[5] = {
code unsigned char A1[9] = {0x80,0xE0,0x9C,0x13,0x13,0x9C,0xE0,0x80,0x00}; //À code unsigned char A2[7] = {0x81,0xFF,0x89,0x89,0x89,0x73,0x00}; //Á code unsigned char A3[7] = {0x81,0xFF,0x89,0x89,0x89,0x76,0x00}; //Â code unsigned char A4[7] = {0x81,0xFF,0x81,0x01,0x01,0x07,0x00}; //Ã code unsigned char A5[7] = {0xE0,0x31,0x2F,0x21,0x3F,0xE1,0x00}; //
}; как это заделать не соображу . подскажите пожалуйста.
|
|
|
|
|
Jan 9 2008, 07:03
|

Группа: Новичок
Сообщений: 13
Регистрация: 11-08-05
Пользователь №: 7 546

|
В варианте предложенный zltigo char arrr[][9] = { { расходуются лишние байты на пустые нули в конце записи, только нужно выбрать ограничение ширины буковки.
В варианте предложенный Сергей Борщ char* A1 = { char* arrr[] = {A1, расходуется память на размере указателя в осносном массиве, но его не удобно хранить в файле, так как смещение постоянно меняется.
rezident предлогает дело, в место нулей в конце, первый байт зарезервировать под размер масива или ширину буковки, что одно и тоже, тогда можно многоточие как за один символ воспринимать, или букву Ы забить.
ЗЫ. если юзается графический дисплей не лучше перейти на отрисовку линии, маштабируемость буковки повыситсчя.
|
|
|
|
|
Jan 9 2008, 11:16
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(SamHaris @ Jan 9 2008, 09:03)  В варианте предложенный Сергей Борщ char* A1 = { char* arrr[] = {A1, расходуется память на размере указателя в осносном массиве, но его не удобно хранить в файле, так как смещение постоянно меняется. Да, память на указатель расходуется. Я же и написал - надо считать, на что уйдет больше памяти - на указатели или заполнение нулями. Еще надо учитываать, что вариант с указателем требует дополнительного времени на чтение указателя. Насчет хранения в файле - не понял. Если фонт подгружаемый, то массив можно сформировать внешними программами какой угодно - хоть с таблицей смещений в начале.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|