Funzione srand() e rand()

Salve, sto programmando usando il linguaggio C applicato alla shell e volevo chidervi se potevate spiegarmi questo “pezzo” di codice:

mypid = getpid();
srand(mypid);
len = (rand()%10)+1;

mypid mi ridà il pid del processo, len un numero compreso tra 10 e 1, ma srand() che utilità ha?

modifica il seme del generatore dei numeri random, in maniera da ottenere una sequenza diversa ad ogni lancio dell’applicazione.