Как задать двумерный массив строк, а не символов?

MEINFRAME
Offline
Зарегистрирован: 12.09.2015

Подключаю клавиатуру.
Некоторые клавиши на клавиатуре должны принтлн несколько букв.
Если я создаю простой массив char с одним символом для каждой клавиши - проблем нет.
но если символов больше одного выдаёт ошибку. Я поставил знак "*" чтобы задать многомерный массив, а он теперь ругается. "invalid conversion from 'char' to 'char*' [-fpermissive]" Что за ерунда? Что ему нужно? Как задать двумерный массив строк, а не символов?

char* keys[ROWS][COLS] =
{ {"РЖ", '+', '-', '*'},
{'С', 'k', 'w', '^'},
{'7', '8', '9', 'p'},
{'4', '5', '6', 'a'},
{'1', '2', '3', 'i'},
{'0', 'H', '.', 'I'}
};

strarbit
Offline
Зарегистрирован: 12.06.2016

Строки  сами собой представляют двух мерных массив
звездочка говорит, что  переменная является "указателем" на массив

char* keys[] =
{ "РЖ", "+", "-", "*",
  "С", "k", "w", "^",
  "7", "8", "9", "p",
  "4", "5", "6", "a",
  "1", "2", "3", "i",
  "0", "H", ".", "I"
};

 

MEINFRAME
Offline
Зарегистрирован: 12.09.2015

А что значит "переменная является "указателем" на массив"?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Не обращай внимание, кавычки здесь лишние, просто:

переменная является указателем на массив

diakin
diakin аватар
Offline
Зарегистрирован: 04.06.2016

char* myStrings[]={"This is string 1", "This is string 2", "This is string 3",
"This is string 4", "This is string 5","This is string 6"};

Вот так надо. Все строки в кавычках.

зы. Уже ответили )

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Почему-то ВСЕ примеры про одномерные массивы строк, а ведь ТС спрашивал про двумерный.

ТС, в Вашей записи из первого поста замените ВСЕ одинарные кавычки на двойные и будет вагон счастья :)