사실 전역화 한다 상수화 한다 이런식으로 추상적으로만 알고 있었는데 막상 소스에서 보면
늘 혼란을 느낄 때가 많아서 이번에 정리 좀 해두고자 한다.
static
: 선언을 하게 되면 그 위치에 상관없이 프로그램의 시작부터 끝까지 메모리에 할당돼 있으면서 그 값을 마음대로 바꿀 수 있는 것.
위치에 대해서는 전역변수든 지역변수든 상관 없다.
const
: 해당 변수를 초기화한 이후에는 절대로 바꾸지 못하도록 선언하는 것.
초기화가 되고 나면 그 이후에는 절대 값을 바꿀 수 없게 된다.
즉 둘은 처리 방식 자체가 상당히 달랐던 것.
이를 확인할 수 있게 간단하게 예제를 짜 봤다.
C에서 확인 가능.
위와 같이 for문을 돌리게 되면
static으로 선언한 변수는 값 변환이 가능하지만
const로 선언한 변수는
'식이 수정할 수 있는 iValue여야 합니다.'
라는 에러와 함께 빨간줄을 보여준다.
'■ C > Study' 카테고리의 다른 글
[C] C언어 변수,예약어 종류 (0) | 2020.05.02 |
---|---|
[C] C언어의 기억 클래스(Storage Class) (0) | 2020.05.02 |
[C] const (0) | 2020.05.02 |
[C] C = 절차적 프로그래밍 언어, 주:고급 언어, 부:저급 언어 (0) | 2020.05.02 |
[C] java = 객체지향 프로그래밍 언어 (0) | 2020.05.02 |