[awk] awk에서 함수내의 지역 변수

함수내에서만 사용되는 지역 변수는 함수의 매개변수로 표시해야 한다.
매개변수로 표시하지 않고 사용하는 지역 변수는 전역변수의 의미를 가진다. 



다음 2가지를 비교하면 된다.
  • 함수 test1 내부의 a는 전역 변수이어서, test1을 호출 후 a 값이 바뀐다.
  • 함수 test2 내부의 a는 지역 변수이어서, test2를 호출 후 a 값이 바뀌지 않는다. 


awk -F’\t’ ‘
function test1(kk)
{
 a = a + kk;   # a는 전역 변수이다.
}

function test2(kk, a)   # a는 지역 변수이다.
{
 a = a + kk;
}

{
 a = 1;
 test1(3);
 print a;

 a = 1;
 test2(3);
 print a;
}’

댓글

이 블로그의 인기 게시물

utf-8과 utf8