반응형
auto는 함수 내의 지역변수를 나타낸다. 함수 내의 변수는 자동으로 지역변수로 정의되기 때문에 생략해도 된다. 즉 아래의 두 명령은 동일하다.
int a;
auto int a;
register는 지역변수를 RAM이 아닌 CPU의 레지스터에 저장하도록 한다. 레지스터에 저장하면 실행 속도가 빨라진다.
register int a;
static은 지역변수와 전역변수에 사용할 수 있는데, 두 경우는 서로 다른 의미를 가진다.
지역변수에 static을 사용하면 함수를 빠져 나와도 static으로 정의된 변수의 값을 유지한다.
전역변수에 static을 사용하면 다른 파일에서 extern으로 사용할 수 없도록 한다. 다른 파일에서 static 변수를 extern하면 컴파일 중 에러 메세지를 출력한다.
extern은 다른 파일에 정의된 전역변수를 사용할 수 있도록 한다. 예를 들면 어떤 파일에서 int a 전역변수를 선언했다면 다른 파일에서 이 변수를 사용하기 위해서는 다음과 같이 선언해야 한다.
extern int a;
반응형
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
IT의 풀스택 개발자 (0) | 2019.11.14 |
---|---|
템플릿을 사용한 제네릭 프로그래밍, C++ <> (0) | 2019.11.14 |
malloc 함수 사용법 (0) | 2019.09.24 |
Atom 프로그래밍 에디터 (0) | 2019.07.03 |
객체 지향의 블록 다이어그램 (0) | 2019.04.09 |
댓글