Как получить доступ к определенному элементу массива в mikroC

#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);