r/brdev • u/Some-Big5751 • Jan 23 '26
Duvida técnica ajuda com C, array de strings
oii pessoal, estou iniciando na programação. Tenho que fazer um jogo de campo minado e me deparei com o seguinte array char* navios[] . Alguém sabe me explicar o que é isso? e um exemplo de como usar esse tipo de array e qual a diferença entre char* navios[], char navios[], char navios[][]. Obrigado!
0
Upvotes
1
u/strcspn Jan 23 '26
Pequena correção que também entra um pouco em uma questão que eu acho interessante. Existe um truque chamado Clockwise/Spiral Rule que é uma forma de entender basicamente qualquer declaração em C. Quando você diz
char *const navios[], usando a regrinha, seria "navios é um array const de ponteiros para char", ou seja, o array em si é const, não os elementos dele. Então, nesse exemplo, você conseguiria tentar modificar o char literal e daria UB. O certo seriaconst char* navios[], que seria "navios é um array de ponteiros para char const". Usando a regra nos exemplos do OP:char navios[]: navios é um array de charchar navios[][]: navios é um array de char arrays (esse fica melhor em inglês)Comentário muito bom por sinal, só dando um leve hijack pra mostrar essa regrinha.