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.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.
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!