Bom dia, Daniel! Belezinha?
Vamos começar falando um pouco sobre arrays:
Um array nada mais é do que um ponteiro para uma sequência de elementos de um tipo que estão armazenadas na memória de forma contígua:
// declaração de um ponteiro que aponta para uma sequência de 26 elementos do tipo char
char chutes[26];
Para você acessar um elemento específico do array precisamos usar o operador [ ] e um índice de 0 até o tamanho do array -1. Por exemplo para acessar o 5º elemento do array, basta:
char quinta_letra = chutes[4];
char segunda_letra = chutes[1];
Agora, olha só que curioso o exemplo acima onde um variável do tipo char está recebendo um elemento do array.
É exatamente isso que está acontecendo com a sua função jachutou.
int jachutou (char letra, char chutes[26]) {
O primeiro parâmetro espera um argumento do tipo char (que pode ser um elemento do array como palavrasecreta[i]
). A função está recendo apenas um elemento do array na posição i.
Já o segundo parâmetro espera o próprio array como argumento. Então, faz sentido passar apenas o nome do array como jachutou(palavrasecreta[i], chutes);.