1
resposta

Demora de processamento com variáveis globais.

Gostaria de saber se existe uma explicação do porque da demora para que o programa execute quando fiz a troca de variáveis locais pra globais.

1 resposta

Olá Gabriel!

A demora de processamento que você está enfrentando pode estar relacionada ao uso de variáveis globais. Quando utilizamos variáveis globais, elas ficam visíveis e acessíveis por todas as funções do programa. Isso pode ser útil em alguns casos, pois evita a necessidade de passar parâmetros entre as funções. No entanto, o uso excessivo de variáveis globais pode tornar o código mais difícil de entender e depurar.

No exemplo que você mencionou, a troca de variáveis locais por globais pode ter causado um aumento no tempo de execução do programa. Isso ocorre porque as variáveis globais ocupam um espaço na memória que é compartilhado por todas as funções. Quando uma função modifica uma variável global, todas as outras funções que a utilizam precisam atualizar seu valor.

Uma alternativa para evitar esse problema é utilizar variáveis locais sempre que possível. As variáveis locais são declaradas dentro do escopo de uma função e são acessíveis apenas por ela. Isso permite um melhor controle sobre o acesso e a modificação das variáveis.

Por exemplo, no código que você compartilhou, as variáveis chutes, palavrasecreta e tentativas foram declaradas como variáveis globais. Se você as declarar como variáveis locais dentro da função main, por exemplo, o desempenho do programa pode melhorar.

int main() {
    char palavrasecreta[20];
    char chutes[26];
    int tentativas = 0;

    // Resto do código...
}

Dessa forma, cada vez que a função main for chamada, será criada uma nova instância dessas variáveis, evitando possíveis problemas de compartilhamento e melhorando o desempenho do programa.

Lembre-se de que essa é apenas uma sugestão e pode não resolver completamente o problema de demora de processamento. É importante analisar o código como um todo e identificar outras possíveis causas para o problema.

Espero ter ajudado e bons estudos!