Показать сообщение отдельно
Непрочитано 15.08.2012, 18:54   #790
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от tempora Посмотреть сообщение
Зачем его приклеивать? Ведь в объявлениях типа:
Код:
char a[]="abc"
он компилятором приклеивается. Хотя, есть там, конечно, один момент, связанный с размером массива...
Не уверен. А как вы объявляете трехбайтовый массив? Есть отличия?
Да и с обработкой по такому объявлению немного неудобно. Лучше объявить указатель на массив, а в дальнейшем работать с указателями. Скажем так:
Код:
while( *ch ) type_out(*ch++);
и цепочка вылетит, остановившись на \0. Ну, это я уже общеизвестные истины вещаю, извините.
В Си вообще-то особой разницы между строками и массивами не отмечалось..

ЗЫ Вот результат компиляции. С чего бы это компилятору что-то добавлять? Кто ему разрешал?

Код:
   \  In section .near.rodata, align 1
     13          const u8 TestString[] = "TEST STRING";
   \                     TestString:
   \   000000 544553542053          DC8 "TEST STRING"
     14
Я подчеркнул ассемблерный листинг после компиляции.
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 15.08.2012 в 19:27.
ut1wpr вне форума