돌

정적 변수

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

먼저 정적변수의 필요성을 알아보기 위해서 변수의 값을 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-10-25 조회 5,092
14-10-25 조회 6,275
14-10-25 조회 3,724
14-10-25 조회 3,865
14-10-24 조회 3,837
14-10-23 조회 4,456
14-10-22 조회 3,595
14-10-22 조회 4,262
14-10-22 조회 7,109
14-10-22 조회 4,820
14-10-22 조회 4,762
14-10-22 조회 8,898
14-10-19 조회 4,689
14-10-18 조회 5,642
14-10-17 조회 5,136
14-10-17 조회 3,934
14-10-17 조회 6,012
14-10-17 조회 5,382
14-10-17 조회 8,828
14-10-17 조회 6,395
14-10-17 조회 4,685
14-10-17 조회 4,997
14-10-14 조회 3,257
14-10-14 조회 4,177
14-10-13 조회 3,738
14-10-13 조회 6,378
14-10-13 조회 4,323
14-10-13 조회 4,208
14-10-13 조회 4,414
14-10-11 조회 6,577
14-10-11 조회 6,494
14-10-11 조회 6,370
14-10-10 조회 3,867
14-10-10 조회 6,325
14-10-10 조회 5,612
14-10-10 조회 6,174
14-10-10 조회 3,445
14-10-10 조회 5,341
14-10-10 조회 5,346
14-10-10 조회 5,445
14-10-10 조회 4,359
14-10-10 조회 4,855
14-10-10 조회 4,138
14-10-10 조회 4,003
14-10-08 조회 4,534
14-10-08 조회 3,655
14-10-08 조회 6,868
14-10-07 조회 6,112
14-10-07 조회 4,273
14-10-07 조회 5,444
14-10-07 조회 3,640
14-10-07 조회 4,636
14-10-07 조회 6,279
14-10-06 조회 6,644
14-10-06 조회 7,428
14-10-05 조회 3,642
14-10-04 조회 4,720
14-10-03 조회 6,067
14-10-02 조회 3,820
14-09-29 조회 4,019
14-09-29 조회 4,480
14-09-28 조회 3,794
14-09-27 조회 5,130
14-09-27 조회 4,598
14-09-26 조회 6,664
14-09-26 조회 5,087
14-09-25 조회 7,441
14-09-25 조회 3,985
14-09-25 조회 3,983
14-09-24 조회 4,781
14-09-24 조회 4,743
14-09-24 조회 4,220
14-09-24 조회 3,799
14-09-24 조회 4,414
14-09-24 조회 3,869
14-09-23 조회 4,065
14-09-23 조회 4,190
14-09-23 조회 3,946
14-09-22 조회 3,824
14-09-22 조회 4,740
14-09-22 조회 4,837
14-09-22 조회 6,057
14-09-22 조회 4,030
14-09-22 조회 3,710
14-09-22 조회 3,757
14-09-21 조회 5,708
14-09-21 조회 4,314
14-09-21 조회 4,281
14-09-21 조회 3,770
14-09-21 조회 4,337
14-09-21 조회 4,233
14-09-21 조회 3,877
14-09-20 조회 3,895
14-09-20 조회 3,768
14-09-20 조회 3,678
14-09-20 조회 4,426
14-09-20 조회 3,860
14-09-19 조회 3,807
14-09-19 조회 3,952
14-09-19 조회 4,077