C/C++ 변수 선언의 기본
작성자 : 김문규
최초 작성일 : 2009.5.21
변수 선언, 기본중에 기본인데 의외로 헷갈립니다. 기초를 잘 정리하셔야 나중에 후환이 없습니다. 저장 위치, lifetime, linkage의 측면에서 표로 정리해 보았습니다.
작성자 : 김문규
최초 작성일 : 2009.5.21
변수 선언, 기본중에 기본인데 의외로 헷갈립니다. 기초를 잘 정리하셔야 나중에 후환이 없습니다. 저장 위치, lifetime, linkage의 측면에서 표로 정리해 보았습니다.
(storage-class-specifier) (type-qualifier) type-specifier
- Storage class specifier
- 저장 장소에 따른 분류 구분입니다.
|
저장위치 |
lifetime |
linkage |
비고 |
auto |
stack |
local |
no-linkage |
기본값 |
register |
register |
local |
no-linkage |
컴파일러에 따라서 register에 저장할 수도 아닐 수도 있음 |
static |
static data |
global |
내부 선언 시 외부 선언 시 |
변수가 선언된 파일 내부로 한정되는 것 |
extern |
static data 참조 |
global |
external-linkage |
link time에 동적으로 바인딩 됨 |
- internal level static vs. internal level auto
- static으로 선언한 경우에는 함수를 빠져 나가도 그 값이 유지되며, 해당 함수를 재실행하여도 이 값이 그대로 유지됨
- external level static vs. external level 키워드 생략(global)
- static으로 선언한 경우에는 해당 파일에서만 사용 가능, global은 전체 프로그램에서 사용 가능
- Type qualifier
- const : 해당 변수, 객체를 수정할 수 없음
- volatile : 해당 변수, 객체를 수정할 수 있음 (기본값)
- Type-specifier
- void, char, short, int, long, double, struct, union, enum...
'개발 노트' 카테고리의 다른 글
[Javascript] 긴 문자열 잘라서 표시하기 (게시판 긴 제목 해결) (0) | 2009.06.17 |
---|---|
HSQLDB 사용 (0) | 2009.05.26 |
DB 튜닝 - INDEX 제대로 사용하기 (1) | 2009.05.18 |
파이(pi) 값 계산하기 (2) | 2009.05.13 |
C++ course work (0) | 2009.05.11 |