#include <iostream>
using namespace std;
int main(){
char a[] = {"qqq","www","eee"};
cout << a[1];
return 0;
}
Если написать string а не char то все работает, просто я немного не понял как это должно работать, пример взял из книги, там вот так было написано и я толком не понял там объявляется массив строк или массив символов, если массив строк то надо было написать вместо char string но почему написано char не пойму и поэтому до конца не ясно что хотел сказать автор, может это ошибка в книге?
char a[] = {"qqq","www","eee"};
Здесь объявлен массив char
'ов, т.е. массив отдельных символов. Если бы вы написали
char a[] = {'q','w','e'};
все было бы верно. Но у вас - массив строковых литералов, а это в C++ - const char *
. Поэтому правильнее всего -
const char * a[] = {"qqq","www","eee"};
Когда вы пишете
string a[] = {"qqq","www","eee"};
то просто каждый строковый литерал преобразуется в объект типа string
...
Кроме того, поскольку строка - это массив символов, можно объявлять и так:
char a[] = {"qqq"};
В этом случае вы объявляете один массив char
'ов - три из которых q
, а четвертый - нулевой символ. a
при этом при использовании является адресом первого элемента (первой буквы q
).
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Прохожу задание в книге Алекса ЭллайнаПосле темы указателей и ссылок в одном из проверочных заданий, он просит написать написать программу...
Вы пытаетесь захватить info по значению, а так нельзя - это массивЗахватывайте по ссылке - &info
У меня есть массив данных (YPR) снятый с показаний гироскопа при его движении по определенной траектории (примерно по 100 значений на секунду)Я...