Как передать значения двойному указателю и вывести значения, как если бы это был многомерный массив? (С)

У меня есть следующая структура, которую я не могу изменить:

typedef struct _content {
    int length;
    char **lines;    
} content_t;

Я инициализировал это в основной функции следующим образом:

struct _content cont;
cont.length = 6;
cont.lines[cont.length-1][255];

Я пытаюсь присвоить значение определенному элементу многомерного массива, а также вывести значение, которое не работает:

cont.lines[1][1] = "A";
printf("\n\n%c", cont.lines[1][1]);

Что я здесь не так делаю? Большое спасибо

1 ответ

Решение
int main(){

content_t cont;
cont.length = 6;
cont.lines=malloc(sizeof(char*)*cont.length);

for(int i=0;i<cont.length;i++) cont.lines[i]=malloc(255);

printf("\n\n%c", cont.lines[1][1]);


for(int i=0;i<cont.length;i++) free(cont.lines[i]);
free(cont.lines);


}

это правильный способ сделать это

Другие вопросы по тегам