Ola Pessoal;
#include <stdio.h>
int main() { char mapa[5] [10+1]; (Nessa declaracao 10+1, pq nao declaramos tb 5+1?)
Obrigado
Ola Pessoal;
#include <stdio.h>
int main() { char mapa[5] [10+1]; (Nessa declaracao 10+1, pq nao declaramos tb 5+1?)
Obrigado
Oi Everson, tudo bem?
A declaração char mapa[5][10+1];
é usada para criar uma matriz de caracteres, ou seja, um array bidimensional. Nesse caso, a matriz tem 5 linhas e cada linha tem capacidade para armazenar 11 caracteres.
O 10+1
é usado para acomodar o caractere de nova linha ('\n') que é adicionado ao final de cada string quando você lê uma linha do arquivo. Isso é necessário porque em C, as strings são terminadas com um caractere nulo ('\0'), então você precisa de um espaço extra para ele.
No entanto, o número 5 representa o número de linhas na matriz e não precisa de um espaço extra, porque cada linha é uma entidade separada e não precisa de um caractere de terminação como as strings.
Então, a declaração char mapa[5][10+1];
cria uma matriz de 5 strings, onde cada string pode ter até 10 caracteres mais o caractere de terminação.
Um abraço e bons estudos.