임베디드

[리눅스] 랜덤함수 rand(), srand(), time()

히똔 2022. 4. 30. 16:39
728x90
반응형

rand 함수

rand(); // 정수형 랜던값이 리턴된다
rand() % 5; // 0~4 사이 랜덤값이 생성된다
rand() % 5 + 3; // 3~7 사이 랜덤값이 생성된다.

 

사실 이 랜덤함수도 사람이 만든 것이기 때문에 나오는 값이 항상 동일하다.
랜덤 순열의 순서가 고정되어있기 때문에, 모든 사람한테 동일한 결과값이 나온다.

하지만 우리는 이런 랜덤값을 원하는 것이 아니다.

 

srand 함수

srand(랜덤순열ID);

int 형 매개변수 번째 순열로 랜덤값이 만들어진다. 
srand 없이 rand 함수만 쓸 경우에 srand의 첫번째 순열로 적용된다.

srand(1) 일때
srand(2) 일때

 

이것을 이용해서 랜덤순열ID 값 안에 시간값을 넣으면 1초당 다른 랜덤값으로, 앱 실행시마다 다른 랜덤값이 출력될 수 있다.

time을 이용하여 랜덤값 생성

srand(time(NULL));

 

 

[리눅스] 쉘 스크립트 : Bash Shell 시작하기, 쉬뱅

쉘 스크립트 쉘 스크립트는 쉘에서 실행하는 스크립트 프로그래밍 언어이다. if, for, 변수, 함수 등을 사용해서 프로그래밍이 가능하다. CLI Shell은 여러가지가 존재하는데, /etc/shells 에 실행가능

asdfmelody.tistory.com

 

728x90
반응형