Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Nao endendi

mas na funçao chuta e main tem dois arrays chutes[26]foi passado parametro e nao ponteiro, e pasando apenas chutes como ponteiro vc nao eata passando o ponteiro do indice 1,com o sistema vai acessar os outros.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

Oi João! Como vai?

Quando você passa um array como parâmetro para uma função em C, na verdade, está passando um ponteiro para o primeiro elemento do array. Isso significa que, mesmo que você não veja explicitamente um ponteiro sendo passado, é isso que está acontecendo por baixo dos panos.

No seu exemplo, quando você passa chutes para a função, está passando o endereço do primeiro elemento do array chutes. A função então pode acessar todos os elementos do array a partir desse endereço inicial.

Isso acontece porque os elementos de um array são armazenados contiguamente na memória. Assim, ao acessar chutes[1], o sistema sabe que precisa "pular" um elemento a partir do início do array para acessar o segundo elemento.

Aqui está um exemplo prático para ajudar a visualizar isso:

#include <stdio.h>

void imprimirArray(int arr[], int tamanho) {
    for (int i = 0; i < tamanho; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

int main() {
    int chutes[3] = {10, 20, 30};
    imprimirArray(chutes, 3);
    return 0;
}

Neste exemplo, a função imprimirArray recebe um array arr e seu tamanho. Mesmo que arr seja passado como um array, ele é tratado como um ponteiro dentro da função. Isso permite que a função acesse todos os elementos do array original.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.