제가 지금 C언어를 배우고 있는데
static변수를 쓰는 이유가 먼가요 ..
그냥 지역변수와 달리 프로그램 종료할때 까지 남아있는게 차이점 인데
어차피 static변수가 선언된 함수에서 밖에 접근 못하면 지역변수 쓰면 되지 않나요 ?
p.s)이거 쓰다가 생각났는데 반복문에서 매회 반복할때마다 변수선언 되기 싫으니까 쓰는건가요 ..
제가 지금 C언어를 배우고 있는데
static변수를 쓰는 이유가 먼가요 ..
그냥 지역변수와 달리 프로그램 종료할때 까지 남아있는게 차이점 인데
어차피 static변수가 선언된 함수에서 밖에 접근 못하면 지역변수 쓰면 되지 않나요 ?
p.s)이거 쓰다가 생각났는데 반복문에서 매회 반복할때마다 변수선언 되기 싫으니까 쓰는건가요 ..
전역변수 대신 쓰여서.. scope를 한 파일 내로 제한시켜주기 때문에.. 도움이 될 수 있다고 생각합니다
함수 내 선언된 지역변수는 해당 함수의 call이 끝나면 소멸되지만 static 변수는 함수 호출이 끝나도 값을 유지하고 있기 때문에.. 이러한 점을 이용해 볼수도 있다고 생각합니다..
아.. 나중에 배울내용에 있군요.. scope가 머지 ..
전역변수는 해당 프로젝트 내의 여러 c파일들에서 접근이 가능합니다. 하지만 static으로 선언된 전역변수는 해당 변수가 선언된 c파일 내에서만 접근이 가능하기 때문에, 문제의 원인을 찾기가 훨씬 수월하다고 생각합니다.
이를 두고 scope(범위)가 한 파일 내로 제한이 된다고 댓글을 적은 것입니다..
아.. 난또 새로운 함수인줄 .. 자세한 설명 감사합니다 ㅎ
가장 간단한게 함수가 몇번 호출되었나 반환하는 함수 같은거