Por que não foi preciso utilizar o & na frente do palavra secreta nesta trecho?
for(int i = 0; i <= randomico; i++) {
fscanf(f, "%s", palavrasecreta);
}
fclose(f);
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!
Por que não foi preciso utilizar o & na frente do palavra secreta nesta trecho?
for(int i = 0; i <= randomico; i++) {
fscanf(f, "%s", palavrasecreta);
}
fclose(f);
Bom dia Mauro, td bom?
A função Scanf precisa de um ponteiro para o lugar na memoria do PC onde ela vai guardar as informações que são lidas.
Colocar o & na frente de uma variável faz com que o compilador do C pegue um ponteiro para aquela variável dentro e mande esse ponteiro para a função.
Acontece que a variável palavraSecreta é um array e e quando escrevermos apenas o nome de um array em algum lugar no nosso código, o compilador já entende ele como um ponteiro para o primeiro elemento do array.
entendeu?
Perfeita a explicação! Entendi sim, se fosse uma variável normal o & seria exigido. Muito obrigado!