Пройдя десятки уроков & руководства по программированию, ответ не стал очевидным, следовательно, сообщение. Пожалуйста, будьте добры.
Дело в том, что практические манипуляции с массивами двойного d char .: {"aaaaa", "bbbbb", "ccccc", .... M}
Первой проблемой является объявление инициализации таких звери, с целью изменения данных в строках «AAAAA», «BBBBB» и т.д.
заявления и инициализации идут как:Как управлять 2-мерным массивным массивом?
char *chararray[M][N + 1] //M & N are set as constant values, the extra 1 for the null terminator.
memset (chararray, '\0', sizeof(chararray)); //Assuming array bounds remain constant, in the hope that dynamic allocation is not required
Предположим, что существует также строковым определяется:
char *copyme; //Has been given a string value well within the bounds of N
Проблема возникает при попытке использовать этот i п strcat или strcat_s (зЬгсру или strcpy_s подобное):
strcat_s (chararray [i][0], N + 1, (char *) copyme); //i ranges from 0 to M
После не попадается какой-либо код, который обрабатывает массивы таким образом, я сделал примечание от этого tutorial, что тетсру является единственным способом. Верный?
Также, как реализовать функцию General Procedure Джона Боде при вызове функции из Main? (Для краткости, это, возможно, придется быть представлен как отдельный вопрос,)
'char x [M] [N + 1];' будет 2-мерным массивом символов. Можете ли вы подтвердить, хотите ли вы это, или 'char * x [M] [N + 1]', который является 2-мерным массивом указателей? –
Хотите указатели. _I think_ char chararray [M] [N + 1] doesn; t, похоже, вообще работает с strcpy. –
Итак, вы хотите иметь возможность хранить 'M' x' N + 1' количество строк? Например. если «M» равно 5, а «N» равно 6, вы сохраняете 35 строк. –