Olá, Marco!
A função rand() é uma função da biblioteca padrão do C que gera um número pseudo-aleatório. Digo "pseudo" porque, na realidade, os computadores não conseguem gerar números verdadeiramente aleatórios, emfim. A função rand() gera uma sequência de números que parecem aleatórios se você não souber o ponto de partida.
A função srand() é usada para inicializar o gerador de números pseudo-aleatórios usado pela função rand(). Se srand() não for usado antes de rand(), o programa sempre gerará a mesma sequência de números a cada execução.
A função time(0) retorna o tempo atual do sistema como um valor do tipo time_t. Ao usar time(0) como argumento para srand(), inicializamos o gerador de números pseudo-aleatórios com o tempo atual, fazendo com que a sequência de números gerados por rand() seja sempre diferente.
Aqui está um exemplo de como você pode usar essas funções:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(0)); // inicializa o gerador de números pseudo-aleatórios
int random_number = rand(); // gera um número pseudo-aleatório
printf("%d\n", random_number); // imprime o número gerado
return 0;
}
Neste exemplo, cada vez que você executar o programa, ele imprimirá um número diferente.
A título de curiosidade deixo um artigo que pode lhe auxiliar no entendimento:
Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!
Sucesso ✨
Um grande abraço e até mais!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!