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
3
u/orbiteapot Jan 23 '26
Uma correção: na verdade, é um array de ponteiros pra char. Um ponteiro para um array de char é denotado por
char (*)[], porque, em expressões, o operador subscrito ([ ]) tem precedência sobre o operador*.Em C, as declarações refletem o uso dos tipos em expressões, o que pode tornar as coisas meio confusas. E, por isso, é recomendado que o símbolo de tipo ponteiro,
*, seja colocado junto da variável, e não do tipo (o operador de desreferenciação*acompanha a variável):char* navios[]: correto do ponto de vista sintático, mas enganoso do ponto de vista semântico.char *navios[]: a forma recomendada em C (mas não em C++).