Разобрать пример обращения к элементу матрицы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста решить такую задачу на C: Необходимо набить двумерный массив строк типа массив[строка][столбец] = "значение". Я пробовал так:
char * names_array[<номер дома>][<номер квартиры>] = <Имя жильца>;
но не сработало при присвоении значения элементу массива[строка][столбец+1], перезаписывается и массива[строка][столбец] Как надо? Спасибо

Решение задачи: «Разобрать пример обращения к элементу матрицы»

textual
Листинг программы
//char** arrsym = (char**) malloc(4);
char  * arrsym[20][20] = ""; //сюда нужен маллок, такой(         (char**)malloc(400)         )?
 for(int i = 0; i < 4; i++)
           {
          for (int k = 0; k < 10 ; k++)
                   {
                    arrsym[i][k] = (char*) malloc(256);
                  arrsym[i][k] = "vasya";
                 }
          }                    
 for(int i = 0; i < 4; i++)
             {
             for (int k = 0; k < 10 ; k++)
                     {
                     printf("%s\n" , arrsym[i][k]) ;
                     }
            }

Объяснение кода листинга программы

  1. В начале кода выполняется запрос на выделение памяти под массив указателей на строки с помощью malloc(4). Однако, данная операция не является безопасной и может привести к ошибке сегментации при попытке доступа к выделенной памяти.
  2. Затем создается двумерный массив arrsym размером 20x20, который в цикле заполняется строками, выделенными с помощью malloc(256).
  3. Строки в цикле присваиваются значение vasya.
  4. После заполнения массива, в цикле по нему выводится каждая строка с помощью функции printf.
  5. В конце кода необходимо освободить выделенную память с помощью free().

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы