реклама на сайте
подробности

 
 
> Заполнение массива на си
Lyt
сообщение Jan 15 2014, 06:45
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 7-07-12
Пользователь №: 72 660



При инициализации массив можно заполнить следующим образом:
Код
unsigned char string_to_LCD[16]={0x20,0x48,0x45,0xA8,0x50,0x45,0x50,0xAE,0x42,0x20,0xA5,0xA4,0x4D,0xFE};

можно ли аналогично заполнить этот же массив другими символами?

использую такой массив для хранения кодов символов строки, выводимой на экран hd44780
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andrewlekar
сообщение Jan 15 2014, 11:03
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Цитата
а можно стирать массив а потом заново его инициализировать с другими элементами?

К сожалению, нельзя.
Вы можете, и это довольно удобно, делать новый массив с новыми элементами на каждый чих.
Например:
Код
const char *A= {'a', 'b', 'c', 0};
printf("%s", A);
const char *B = {'d', 'e', 'f', 0};
printf("%s", B);


Если это ARM, то инициализаторы массивов будут лежать во флэше и вы почти не потеряете памяти на таком трюке и это будет удобно и красиво.
Если это AVR например, то лучше так не делать: будет съедаться стэк, если не ошибаюсь.

А если вы будете делать не const char *A, а char A[], то память будет съедать одинаково в обоих случаях (поправьте меня если я не прав).

Сообщение отредактировал andrewlekar - Jan 15 2014, 11:04
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 02:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016