돌

정적 변수

· 2014-08-26 (화) 17:45:03 · 3476

먼저 정적변수의 필요성을 알아보기 위해서 변수의 값을 1씩 증가시키는 간단한 프로그램을 보도록 하겠습니다.


<?
Function Increase() {
  $first = 0;  
  echo("$first ");
  $first++;
}

Increase();
Increase();
Increase();
?>


위의 예제는 먼저 $first 변수의 값을 1씩 증가시키는 Increase() 함수를 정의하고  그 함수를 세 번 호출하는 코드입니다.

그런데, 위의 코드를 실행하면 우리가 기대하는 결과 즉, "0 1 2" 가 아닌 "0 0 0" 이라는 결과를 얻게 될 것입니다.

그 이유는, 위 예제에서 Increase() 함수를 호출하였을 때 그 함수내에서는 $first 변수의 값을 하나 증가시키지만 그 함수가 종료되면 $first 변수에 저장된 값이 사라지기 때문입니다.

바로, 이 때 함수가 종료되어도 함수내에서 사용된 변수의 저장된 값이 사라지지 않게하려면 static 이라는 선언자를 사용해야 합니다. 그리고 이렇게 static 이라는 선언자가 붙은 변수를 정적 변수라고 부릅니다.

그럼, 위의 예제를 정적변수를 사용해서 고치면 다음과 같을 것입니다.


<?
Function Increase() {
  static $first = 0;  
  echo("$first ");
  $first++;
}

Increase();
Increase();
Increase();
?>


그리고 위의 코드를 실행하면 우리가 원하는 결과값을 다음와 같이 얻을 수 있을것입니다.


0 1 2

​

|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
14-09-19 조회 3,618
14-09-19 조회 3,861
14-09-19 조회 4,266
14-09-19 조회 3,877
14-09-19 조회 4,338
14-09-19 조회 3,801
14-09-19 조회 4,000
14-09-19 조회 4,095
14-09-19 조회 3,840
14-09-19 조회 3,883
14-09-19 조회 3,982
14-09-19 조회 4,915
14-09-19 조회 3,863
14-09-18 조회 3,948
14-09-18 조회 3,799
14-09-18 조회 4,079
14-09-18 조회 3,904
14-09-18 조회 3,609
14-09-18 조회 4,174
14-09-18 조회 4,406
14-09-18 조회 4,135
14-09-18 조회 3,978
14-09-18 조회 4,151
14-09-18 조회 4,852
14-09-18 조회 4,014
14-09-18 조회 3,992
14-09-18 조회 5,399
14-09-18 조회 5,293
14-09-18 조회 4,087
14-09-18 조회 4,586
14-09-18 조회 4,203
14-09-18 조회 3,998
14-09-18 조회 4,219
14-09-18 조회 4,818
14-09-17 조회 3,991
14-09-16 조회 4,793
14-09-16 조회 5,007
14-09-16 조회 3,715
14-09-15 조회 3,904
14-09-15 조회 3,488
14-09-13 조회 4,570
14-09-12 조회 4,382
14-09-12 조회 3,781
14-09-12 조회 3,677
14-09-11 조회 3,394
14-09-11 조회 4,202
14-09-11 조회 4,472
14-09-10 조회 3,310
14-09-10 조회 3,487
14-09-03 조회 3,723
14-09-03 조회 3,662
14-09-03 조회 3,892
14-09-03 조회 5,548
14-09-01 조회 5,321
14-09-01 조회 4,767
14-09-01 조회 4,217
14-08-30 조회 4,238
14-08-30 조회 5,384
14-08-29 조회 4,445
14-08-28 조회 5,872
14-08-28 조회 6,506
14-08-28 조회 6,691
14-08-27 조회 6,795
14-08-27 조회 6,938
14-08-27 조회 5,455
14-08-27 조회 2만
14-08-27 조회 4,137
14-08-26 조회 4,158
14-08-26 조회 4,077
14-08-26 조회 3,942
14-08-26 조회 3,937
14-08-26 조회 3,751
14-08-26 조회 3,639
14-08-26 조회 4,146
14-08-26 조회 3,910
14-08-26 조회 3,856
14-08-26 조회 4,040
14-08-26 조회 3,906
14-08-26 조회 3,712
14-08-26 조회 3,921
14-08-26 조회 3,993
14-08-26 조회 3,946
14-08-26 조회 3,936
14-08-26 조회 3,792
14-08-26 조회 3,755
14-08-26 조회 3,978
14-08-26 조회 3,636
14-08-26 조회 3,713
14-08-26 조회 3,592
14-08-26 조회 3,423
14-08-26 조회 3,613
14-08-26 조회 4,196
14-08-26 조회 3,546
14-08-26 조회 3,749
14-08-26 조회 3,675
14-08-26 조회 3,477
14-08-26 조회 3,598
14-08-26 조회 3,554
14-08-26 조회 3,701
14-08-26 조회 4,288