Как передать значения двойному указателю и вывести значения, как если бы это был многомерный массив? (С)
У меня есть следующая структура, которую я не могу изменить:
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);
}
это правильный способ сделать это