Строки: warning: (near initialization for 'someName[0]') - C (СИ)
Формулировка задачи:
Вобщем то был обычный масив строк
Но масив этот большой, а в нём приходится искать определёное слово много раз, поэтому решил поделить этот масив на двухмерный с групировкой по первой букве.
Строк на каждую букву разное количество (если что)
Но вот теперь я схватываю кучу warning'ов
и так по каждому слову. Я понимаю что нужно как-то обьявить масив по другому, но как только не пробовал, ошибки не пропадают. Читал на эту тему stackoverflow но там примеры с интами и пользовательскими структурами, но указатели на char как я понимаю немного запутанее.
const char *someName[] = { "str1", "str2", "str3", ... "strN" }
const char *someName[] = { { // A "Astr1", "Astr2", "Astr3", ... "AstrN" }, { // B "Bstr1", "Bstr2", "Bstr3", ... "BstrN" }, .... { // Z "Zstr1", "Zstr2", "Zstr3", ... "ZstrN" }, }
warning: braces around scalar initializer warning: (near initialization for 'someName[0]') warning: excess elements in scalar initializer warning: (near initialization for 'someName[0]') warning: excess elements in scalar initializer .........
Решение задачи: «Строки: warning: (near initialization for 'someName[0]')»
textual
Листинг программы
#include <stdio.h> char* some_words1[] = { "word0", "word1", "word2" }; char* some_words2[] = { "word0", "word1" }; char* some_words3[] = { "word0", "word1", "word2", "word3"}; char **string_matrix[] = { some_words1, some_words2, some_words3 }; int main() { printf("%s\n", string_matrix[0][2]); printf("%s\n", string_matrix[1][1]); printf("%s\n", string_matrix[2][3]); return 0; }
Объяснение кода листинга программы
В данном коде объявлены три массива указателей на строки: some_words1
, some_words2
и some_words3
, которые содержат соответственно 3, 2 и 4 строки.
Затем эти массивы объединяются в один двумерный массив string_matrix
, который содержит три строки, каждая из которых является массивом указателей на строки.
В функции main()
происходит печать элементов двумерного массива с помощью функции printf()
.
Печатаются элементы string_matrix[0][2]
, string_matrix[1][1]
и string_matrix[2][3]
, что соответствует печати третьей строки первого массива, второй строки второго массива и третьей строки третьего массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д