돌

정적 변수

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

먼저 정적변수의 필요성을 알아보기 위해서 변수의 값을 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건
+
제목 글쓴이 날짜 조회
16-06-11 조회 3,081
16-02-15 조회 3,317
16-02-02 조회 2,980
16-01-25 조회 2,595
16-01-18 조회 2,698
16-01-08 조회 2,614
16-01-07 조회 2,620
16-01-05 조회 2,656
16-01-05 조회 2,956
16-01-05 조회 2,933
16-01-05 조회 2,810
16-01-04 조회 2,673
16-01-04 조회 2,679
16-01-04 조회 2,623
16-01-04 조회 2,539
15-12-30 조회 2,894
15-12-24 조회 2,703
15-12-24 조회 2,699
15-12-24 조회 2,725
15-12-24 조회 2,680
15-12-23 조회 2,670
15-12-16 조회 2,764
15-12-15 조회 2,825
15-12-11 조회 2,953
15-12-10 조회 2,815
15-11-09 조회 2,797
15-11-09 조회 3,018
15-10-06 조회 3,354
15-10-02 조회 3,131
15-05-29 조회 4,465
15-02-02 조회 4,441
15-01-18 조회 4,432
14-10-25 조회 8,383
14-10-25 조회 5,166
14-10-22 조회 7,169
14-10-22 조회 4,869
14-10-22 조회 4,826
14-10-18 조회 5,690
14-10-17 조회 6,070
14-10-17 조회 5,450
14-10-17 조회 8,982
14-10-17 조회 6,466
14-10-13 조회 4,391
14-10-13 조회 4,490
14-10-07 조회 6,167
14-09-24 조회 3,936
14-09-23 조회 3,997
14-09-22 조회 4,911
14-09-22 조회 6,136
14-09-22 조회 4,107
14-09-22 조회 3,773
14-09-21 조회 4,398
14-09-21 조회 3,889
14-09-20 조회 3,889
14-09-20 조회 3,791
14-09-20 조회 3,967
14-09-19 조회 3,896
14-09-19 조회 4,055
14-09-19 조회 3,945
14-09-19 조회 4,320
14-09-19 조회 3,964
14-09-19 조회 3,891
14-09-19 조회 4,175
14-09-19 조회 3,912
14-09-19 조회 3,959
14-09-19 조회 3,943
14-09-18 조회 4,019
14-09-18 조회 3,977
14-09-18 조회 4,245
14-09-18 조회 4,214
14-09-18 조회 4,222
14-09-18 조회 4,921
14-09-18 조회 5,473
14-09-18 조회 5,363
14-09-18 조회 4,169
14-09-18 조회 4,661
14-09-18 조회 4,273
14-08-30 조회 5,541
14-08-06 조회 6,024
14-08-06 조회 5,639
14-08-03 조회 5,278
14-06-12 조회 5,548
14-05-11 조회 3,735
14-05-11 조회 4,499
14-05-11 조회 4,598
14-05-09 조회 1.3만
14-05-01 조회 5,194
14-03-30 조회 4,404
14-03-23 조회 8,024
14-02-12 조회 3,906
13-10-29 조회 7,864
13-10-28 조회 8,691
13-09-29 조회 6,660
13-09-29 조회 4,287
13-07-23 조회 5,162
13-07-23 조회 1.2만
13-07-14 조회 4,693
13-07-14 조회 5,082
13-07-14 조회 6,043
13-07-14 조회 5,325