Só uma observação: matriz != vetor matriz é um vetor bidimensional. Uma string como "teste" é um vetor de caracteres, não uma matriz de caracteres. Na verdade nem existe matriz. A gente trata um vetor bidimensional como matriz, mas, computacionalmente falando, matriz não existe. Tanto é que podemos declarar um ponteiro do tipo *valor - o que muitos interpretariam como um vetor - e tratar como matriz (vetor bidimensional), como vetor tridimensional... Afinal, a memória é linear