srand
|
Défini dans l'en-tête
<stdlib.h>
|
||
|
void
srand
(
unsigned
seed
)
;
|
||
Initialise le générateur de nombres pseudo-aléatoires utilisé par
rand()
avec la valeur
seed
.
Si
rand()
est utilisé avant tout appel à
srand()
,
rand()
se comporte comme s'il était initialisé avec
srand
(
1
)
.
Chaque fois que
rand()
est initialisé avec la même
seed
, il doit produire la même séquence de valeurs.
srand()
n'est pas garanti d'être thread-safe.
Table des matières |
Paramètres
| seed | - | la valeur de départ |
Valeur de retour
(aucun)
Notes
D'une manière générale, le générateur de nombres pseudo-aléatoires ne doit être initialisé qu'une seule fois, avant tout appel à
rand()
, et au début du programme.
Il ne doit pas être initialisé à plusieurs reprises, ou réinitialisé chaque fois que vous souhaitez générer un nouveau lot de nombres pseudo-aléatoires.
La pratique standard consiste à utiliser le résultat d'un appel à
time
(
0
)
comme graine.
Cependant,
time()
retourne une valeur
time_t
, et
time_t
n'est pas garanti d'être un type intégral.
En pratique, cependant, toutes les implémentations majeures définissent
time_t
comme un type intégral, et c'est également ce que POSIX exige.
Exemple
Sortie possible :
Random value on [0 2147483647]: 1373858591
Références
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.22.2.2 La fonction srand (p: 252-253)
- Norme C11 (ISO/IEC 9899:2011) :
-
- 7.22.2.2 La fonction srand (p: 346-347)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.20.2.2 La fonction srand (p: 312-313)
- Norme C89/C90 (ISO/IEC 9899:1990) :
-
- 4.10.2.2 La fonction srand
Voir aussi
|
génère un nombre pseudo-aléatoire
(fonction) |
|
|
valeur maximale possible générée par
rand
(
)
(constante macro) |
|
|
Documentation C++
pour
srand
|
|