(함수)지역변수, 정적변수

· 댓글 : 0 조회 : 2406 · 0

지역변수란?

지역변수란 전역변수와는 다르게 함수 내부에서만 사용이 가능한 변수이다.

지역 변수는 함수 내에서 정의된 후 함수가 호출되면 생성되었다가 함수가 종료되면 함께 소멸이 되는 변수이다.

형식매개변수도 지역변수에 속하며 지금까지 공부하며 봐왔던 정의한 함수는 대부분이 지역변수를 사용해왔다.

-------------------------------------------------------------------------------------------------------------

지역변수의 설명은 윗 내용처럼 설명이 되어있습니다.

전역변수를 설명하면서 GLOBAL를 사용하지 않고 결과값이 나오도록 해보는 예제를 보여드렸습니다.

그런 식으로 실 매개변수를 이용하여 형식 매개변수 사용과 함수안에서 매개변수 정의 등... 함수안에서만 작용 할수 있는 변수들이

지역변수라고 보시면되겠습니다.

---------------------------------------------------------------------------------------------------------------

 

정적변수란?

정젹변수는 적역변수와 지역변수의 특성을 함께 지니는 변수이다.

정적변수로 사용하기 위해서는 예약어 'static'을 사용하여야 한다. 지역변수는 함수 내에서 정의된 후 함수가 호출되면 생성되었다가

함수가 종료되면 함께 소멸이 되는 변수이다. 반면, 정적변수는 함수의 내부에서 정의가 된다는 점은 지역변수와 동일하나,

최초에 한번 함수가 호출되어 정적 변수가 생성되면 그 함수가 종료되었다 하더라도 소멸되지 않고 살아 있다가 전역 변수처럼 프로그램이

종료될 때 함께 소멸된다는 특징을 갖는다.

 

----------------------------------------------------------------------------------------------------------------

 

정적 변수는 대략 누적값을 사용할때 주로 사용되는것 같습니다... 예를들어 카운터나.. 조회수... 등등...

정적변수의 예를 들어 간단히 설명해보도록 하겠습니다.

 

<?php

function add($no) {

static $sum = 0;

$sum += $no;

return $sum;

}

 

$num = array(1,2,3,4,5);

 

for ($i=0; $i < sizeof($num); $i++)

echo "누적수 =".add($num)."
";

?>

 

결과값

 

누적수 = 1

누적수 = 3

누적수 = 6

누적수 = 10

누적수 = 15

 

----------------------------------------------------------------------------------------------------------------

function add($no) {   // static를 사용하여 $sum을 add라는 함수 내에서 누적 값을 저장하는 용도로 사용하도록

                                  프로그램이 짜였으며 $no는 형색 매개변수입니다.

static $sum = 0;

$sum += $no;           // 누적을 하게됩니다.

return $sum;            // 호출한 곳에 $sum값을 반환

}

 

for ($i=0; $i < sizeof($num); $i++)          

echo "누적수 =".add($num)."
";       //실 매개변수를 받아서 함수를 호출하게 됩니다.

                                                           그리고 또한 return에 의해 결과값을 반환합니다.

 

------------------------------------------------------------------------------------------------------------------

 

 

통계분석을 위해 매체별 전용URL 사용해주세요.
불타는면빨님의 포스트
최근 리스트
리스트가 없습니다.