프로그래밍/C 기초

[C언어 강좌] #24 - 지역변수 더 자세히

도끼_Dokki 2016. 12. 30. 09:00

안녕하세요. 강좌 13편에서 지역변수에 대해 언급하고 지나갔습니다.

하지만 아직 설명하지 못한부분이 많기때문에 더 자세하게 설명해드리겠습니다.


저번시간에 지역변수는 중괄호 내에서 선언되면 모두 지역변수라고 했었죠.

그리고 지역변수는 메모리에서 존재 기간과 변수에 접근 가능한 범위에서 차이를 보입니다.

그리고 중괄호로 둘러쌓인곳을 하나의 지역이라 하고 그 지역에 있는 지역변수들은 해당 지역을 벗어나면 소멸합니다.

즉 중괄호가 닫히는 부분부터 사용이 불가능합니다.


그리고 함수도 중괄호로 둘러쌓여있기 때문에 동일하게 적용됩니다.



hello함수를 3번 호출하면 변수 a도 3번 선언되고 소멸하고를 반복합니다.




그리고 지역변수는 선언된 지역에서만 존재하기때문에 다른 지역에서 같은 이름의 변수가 선언되도 문제 없습니다.

hello함수와 main함수는 다른지역이기 때문에 같은 변수를 선언해도 전혀 문제될것이 없고 저 둘은 다른 변수인겁니다.


그리고 함수뿐만 아니라 반복문도 보통 중괄호로 묶여서 사용되었죠.



반복문에서는 계속해서 중괄호를 탈출하고 진입을 반복합니다.

그렇기때문에 반복문 내에서 변수를 선언하면 계속해서 선언되고 소멸하는것을 반복하게됩니다.


그리고 함수에서의 매개변수도 지역변수에 일종이라고 했었죠.

매개변수도 지역변수의 일종으로서 지역변수와 같은 특성을 가집니다.