반응형
정적 지역 변수가 사용되는 하나의 용도는 함수가 처음 호출될 때 초기화를 딱 한번만 수행하는 것이다.
inited는 정적 변수이기 때문에 다음번의 호출에서도 그 값을 유지한다. 따라서 초기화 코드는 함수가 처음 호출될 때 한번만 실행된다. 이러한 구조를 사용하여 맨 처음 호출되는 경우에만 초기화를 수행하는 난수 발생 함수 get_random()을 작성하여 테스트하라.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> #include <stdlib.h> #include <time.h> void get_random(void); int main(void) { get_random(); get_random(); get_random(); return 0; } void get_random(void) { static int inited = 0;//한번만 초기화 됨 if(inited==0) { inited=1; srand((unsigned)time(NULL)); } printf("%d\n", rand()); } | cs |
반응형
'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글
입출금 프로그램 (0) | 2016.08.04 |
---|---|
조화 수열(harmonic series) (0) | 2016.08.04 |
주사위 던지기 (0) | 2016.08.03 |
연산 횟수를 세는 계산기 (0) | 2016.08.03 |
메뉴 시스템 만들기 (0) | 2016.07.29 |