Crear una estructura asignada dinámicamente con una cadena 2D asignada dinámicamente
Estoy tratando de escanear en una cuadrícula de letras.cases
es el número de cuadrículas de letras yr
, c
son para el número de filas y columnas de cada cuadrícula. Pensé que podría crear una matriz de estructuras con matrices 2D dentro. He estado trabajando en esto durante unas horas y todavía me da problemas:
Advertencias:
Advertencia C4477 (Línea 12) -‘Scanf_s’: la cadena de formato ‘% s’ requiere un argumento de tipo ‘char *’, pero el argumento variable 1 tiene el tipo ‘int’Advertencia C4473 (Línea 12) -‘Scanf_s’: no se pasan suficientes argumentos para la cadena de formatoErrores:
El código:
scanf_s("%d", &cases);
struct grid {
char **grid;
};
struct grid *grids = (struct grid*)malloc(cases * sizeof(struct grid));
for (i = 0; i < cases; i++) {
scanf_s("%d %d", &r, &c);
grids[i].grid = (char**)malloc(sizeof(char*) * r);
for (k = 0; k < r; k++) {
grids[i].grid[k] = (char*)malloc(sizeof(char) * (c+1));
scanf_s("%s", grids[i].grid[k], (c+1));
}
}