Как объявить char массив - C (СИ)
Формулировка задачи:
Доброго времени дня.
Возникла такая проблема.
Т.е. если инициализировать при объявлении - то все работает, иначе выскакивает ошибка.
Что я не так делаю? Как присваивать строку char-массиву?
Еще непонимаю, как обстоят дела с двумерными char массивами. Необходимо следующее: в каждую ячейку класть букву, например, "р".
Как это правильно сделать:
char table[40] = "hello"; /* работает */
void main()
{
table[40] = "hello"; /* ошибка */
}table[1][2] = "p";
Решение задачи: «Как объявить char массив»
textual
Листинг программы
char table[40];
strcpy(table,"hello");
/* table[40]={"hello"} */
Объяснение кода листинга программы
В данном коде:
- Объявляется массив char table[40] - это значит, что в памяти выделяется 40 ячеек для хранения символов (букв, цифр и т.д.).
- Затем с помощью функции strcpy(table,
hello), в первую ячейку массива (table[0]) копируется строкаhello. - Далее, в данном коде ничего не происходит, и код заканчивается.
Примечание: В строке / table[40]={
hello} / комментарий написан некорректно, так как вместо {hello} должно быть {.hello.}. Но, так как это комментарий, то он не влияет на работу программы.