돌

정적 변수

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

먼저 정적변수의 필요성을 알아보기 위해서 변수의 값을 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,619
14-09-19 조회 3,866
14-09-19 조회 4,272
14-09-19 조회 3,878
14-09-19 조회 4,342
14-09-19 조회 3,806
14-09-19 조회 4,005
14-09-19 조회 4,096
14-09-19 조회 3,843
14-09-19 조회 3,889
14-09-19 조회 3,984
14-09-19 조회 4,918
14-09-19 조회 3,868
14-09-18 조회 3,951
14-09-18 조회 3,801
14-09-18 조회 4,084
14-09-18 조회 3,908
14-09-18 조회 3,610
14-09-18 조회 4,177
14-09-18 조회 4,408
14-09-18 조회 4,136
14-09-18 조회 3,981
14-09-18 조회 4,154
14-09-18 조회 4,852
14-09-18 조회 4,021
14-09-18 조회 3,993
14-09-18 조회 5,404
14-09-18 조회 5,293
14-09-18 조회 4,090
14-09-18 조회 4,592
14-09-18 조회 4,211
14-09-18 조회 4,004
14-09-18 조회 4,220
14-09-18 조회 4,824
14-09-17 조회 3,993
14-09-16 조회 4,796
14-09-16 조회 5,008
14-09-16 조회 3,717
14-09-15 조회 3,905
14-09-15 조회 3,492
14-09-13 조회 4,574
14-09-12 조회 4,385
14-09-12 조회 3,781
14-09-12 조회 3,677
14-09-11 조회 3,397
14-09-11 조회 4,205
14-09-11 조회 4,474
14-09-10 조회 3,312
14-09-10 조회 3,487
14-09-03 조회 3,724
14-09-03 조회 3,664
14-09-03 조회 3,894
14-09-03 조회 5,549
14-09-01 조회 5,327
14-09-01 조회 4,767
14-09-01 조회 4,217
14-08-30 조회 4,240
14-08-30 조회 5,385
14-08-29 조회 4,447
14-08-28 조회 5,872
14-08-28 조회 6,506
14-08-28 조회 6,694
14-08-27 조회 6,796
14-08-27 조회 6,938
14-08-27 조회 5,457
14-08-27 조회 2만
14-08-27 조회 4,138
14-08-26 조회 4,164
14-08-26 조회 4,081
14-08-26 조회 3,947
14-08-26 조회 3,941
14-08-26 조회 3,755
14-08-26 조회 3,643
14-08-26 조회 4,148
14-08-26 조회 3,915
14-08-26 조회 3,860
14-08-26 조회 4,045
14-08-26 조회 3,910
14-08-26 조회 3,716
14-08-26 조회 3,925
14-08-26 조회 3,998
14-08-26 조회 3,948
14-08-26 조회 3,937
14-08-26 조회 3,794
14-08-26 조회 3,758
14-08-26 조회 3,980
14-08-26 조회 3,640
14-08-26 조회 3,716
14-08-26 조회 3,596
14-08-26 조회 3,429
14-08-26 조회 3,616
14-08-26 조회 4,199
14-08-26 조회 3,549
14-08-26 조회 3,751
14-08-26 조회 3,676
14-08-26 조회 3,480
14-08-26 조회 3,601
14-08-26 조회 3,560
14-08-26 조회 3,703
14-08-26 조회 4,292