srand() 함수는 C언어에서 난수 생성의 시드를 초기화하기 위해 사용되는 함수이다. 이 함수는 표준 라이브러리 <stdlib.h>에 정의되어 있으며, rand() 함수를 사용할 때 더 나은 난수 분포를 위해 종종 함께 사용된다.
사용법
#include <stdlib.h>
int main(void) {
int seed = ??; // 시드 값
srand(seed);
}
왜 사용할까?
C언어에서 난수를 생성할 때는 rand() 함수를 사용한다. 하지만 rand() 함수는 동일한 시드 값에서 호출될 때 항상 동일한 수열을 반환하게 된다. 프로그램을 매번 실행할 때마다 다른 난수를 얻고 싶다면, 초기 시드 값이 달라야 한다. 여기서 srand() 함수가 필요한 것이다. srand() 를 통해 시드를 설정함으로써, 프로그램이 매번 다른 난수 수열을 생성하게 할 수 있다.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL)); // 현재 시간을 시드로 사용하여 난수 생성 초기화
int randomValue = rand();
printf("Generated Random Value: %d\n", randomValue);
return 0;
}
위 코드에서 srand(time(NULL))는 현재 시간을 시드로 사용한다. 이를 통해 프로그램이 실행될 때마다 서로 다른 난수 수열을 생성하도록 한다.
예제
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL));
for (int i = 0; i < 5; i++) {
printf("%d\n", rand());
}
return 0;
}
728x90
'C언어' 카테고리의 다른 글
[C언어] 개행 문자 (0) | 2024.12.13 |
---|---|
[C언어] qsort() 함수란? (0) | 2024.11.18 |
[C언어] OOP 공부 (2) (1) | 2024.11.13 |
티스토리 기본모드 수식 삽입 (2) | 2024.11.13 |
[C언어] OOP 공부 (1) (0) | 2024.11.12 |