#arrays #c #mikroc
#массивы #c #mikroc
Вопрос:
У меня есть этот массив в mikroC:
char array[4] = {'1','1','0',''};
Я пытаюсь получить определенный элемент в этом массиве и вывести его на GLCD, скажем, первый элемент. Как я могу это сделать? Я знаю, что это должно быть что-то вроде этого:
Glcd_Write_Text(array[0], 5, 4, 2);
но это не дает никакого результата вообще или, возможно, какой-то случайный мусор. Следовательно, я попытался работать с указателями следующим образом:
Glcd_Write_Text(amp;array[0], 5, 4, 2);
но это дает весь массив, а мне нужен только первый элемент.
Я тоже это пробовал:
int *v=amp;array[0];
char y=*v;
но вывод y дает случайные мусорные данные.
Любая помощь приветствуется. Большое спасибо.
Комментарии:
1. Название
Glcd_Write_Text
звучит так, как будто оно ожидает, что первый аргумент будет строкой, а не отдельным символом. У вас есть ссылка на документацию?
Ответ №1:
Если Glcd_Write_Text
ожидается, что аргумент будет строкой, вы не можете указать ему указатель на один символ. Он ожидает указатель на строку, заканчивающуюся нулем.
Объявите новый массив и скопируйте определенный элемент в его первый символ.
char text[2] = {'', ''};
text[0] = array[0];
Glcd_Write_Text(text, 5, 4, 2);