반응형
데이터 타입
데이터 타입(Data Type)은 변수(Variable)에 저장될 데이터의 형식을 나타내는 것이다.
데이터 타입의 종류
유형 | 기능 | 예 |
정수 타입(Integer Type) | 정수, 즉 소수점이 없는 숫자를 저장할 때 | 1, -1, -10, -100 |
부동 소수점 타입(Floating Point Type) | 소수점 이하가 있는 실수를 저장할 때 | 0.123*10², -1.6*2³ |
문자 타입(Character Type) | 한 문자를 저장할 때 사용 작은따옴표 (' ') 사용 |
'A', 'a', '1', '*' |
문자열 타입(Character String Type) | 문자열을 저장할 때 큰따옴표 (" ") 사용 |
"Hello!", "1+2=3" |
불린 타입(Boolean Type) | 조건의 참(True), 거짓(False) 판별 | true, false |
배열 타입(Array Type) | 같은 타입의 데이터 집합을 만들어 저장할 때 | {1,2,3,4,5} |
변수
변수(Variable)는 컴퓨터가 명령을 처리하는 도중 발생하는 값을 저장하기 위한 공간이다.
1. 변수명 작성 규칙
*C/C++ 기준
- 영문자, 숫자, _(under bar) 사용가능
- 첫 글자는 영문자나 _ 로 시작해야하며, 숫자 불가
- 글자수 제한 없음
- 공백이나 *, +, -, / 등 특수문자 불가
- 대/소문자 구분
- 예약어를 변수명으로 사용불가
- 변수 선언시 문장끝에 반드시 세미콜론(;)
- 변수 선언시 변수명에 데이터 타입 명시하는것을 헝가리안 표기법(Hungarian Notation)이라 한다.
예약어 : 정해진 용도가 이미 있는 변수
상수(Const)로 만들어 사용하기
더보기
변수에 저장된 값을 프로그램이 끝날 때까지 변경되지않도록 상수로 만들어 사용가능하다.
C언어에서는 이럴경우 const라는 예약어를 사용한다.
변수처럼 상수에 이름을 붙여 기호화 한다고 하여 심볼릭(Symbolic) 상수라고도 한다.
예) const float PI = 3.1415927;
2. 기억 클래스
변수 선언 시 메모리 내에 변수의 값을 저장하기 위한 기억영역이 할당되는데, 할당되는 기억영역에 따라 사용범위에 제한이 있다. 이러한 기억 영역을 결정하는 작업을 기억 클래스(Storage Class) 라고한다.
C언어에는 다음과 같은 5가지 기억 클래스를 제공한다
종류 | 기억영역 | 예약어 | 생존기간 | 사용 범위 |
자동 변수 (Automatic Variable) |
메모리(스택) | auto | 일시적 | 지역적 |
레지스터 변수 (Register Variable) |
레지스터 | register | ||
정적 변수(내부) (Static Variable-internal) |
메모리(데이터) | static | 영구적 | |
정적 변수(외부) (Static Variable-External |
전역적 | |||
외부 변수 (External Variable) |
extern |
auto : 기본값으로 생략 가능
- 자동 변수 : 함수나 코드의 범위를 한정하는 블록 내에서 선언되는 변수.
- 함수 블록 실행 되는 동안 존재.
- 초기화 하지 않으면 쓰레기값(Garbage Value)이 저장된다.
- 외부 변수 : 현재 파일이나 다른 파일에서 선언된 변수나 함수를 참조하기 위한 변수
- 함수 밖에서 선언한다.
- 함수 종료된 뒤에도 소멸하지 않음
- 초기화 하지 않으면 자동으로 0으로 초기화
- 다른 파일에서 선언된 변수를 참조할 경우 초기화 불가
- 정적 변수 : 함수나 블록 내에서 선언하는 내부 정적 변수와 함수 밖에서 선언하는 외부 정적 변수
- 내부 정적 변수는 선언한 함수나 블록 내에서만 사용가능
- 외부 정적 변수는 모든 함수에서 사용가능
- 블록 종료 후에도 값 소멸하지 않음
- 초기화는 선언시 한 번만 가능, 초기화 생략시 자동으로 0 초기화
- 레지스터 변수 : 메모리가 아닌 CPU 내부의 레지스터에 기억영역을 할당받는 변수
- 자주 사용되는 변수를 레지스터에 저장하여 처리 속도를 높이기 위해 사용
- 함수나 블록 실행되는 동안만 존재하며 자동 소멸
- 개수가 한정되어 있기 때문에 레지스터가 없는 경우 자동 변수 취급
- 메모리 주소 가질 수 없기 때문에 변수 주소를 구하는 연산자(&) 사용 불가
가비지 콜렉터
더보기
변수를 선언만 하고 사용하지 않으면 이 변수들이 점유한 메모리 공간은 다른 프로그램들이 사용할 수 없게 된다. 따라서 메모리 공간을 강제로 해제하여 다른 프로그램들이 사용할 수 있게 하는 것을 가비지 콜렉션(Garbage Collection) 이라 하며, 이 기능을 수행하는 모듈을 가비지 콜렉터(Garbage Collecter) 라 한다.
3. 연산자
4. 데이터 입/출력
출처
자료 참고:
시나공 정보처리기사 필기 2022를 참고하여 작성되었습니다
반응형
'정보처리기사 > 4과목' 카테고리의 다른 글
[정보처리기사 필기] TCP/IP 의 구조와 특성 (0) | 2022.02.24 |
---|---|
[정보처리기사 필기] 인터넷, OSI 참조모델 (0) | 2022.02.24 |
[정보처리기사 필기] 프로세스, 스케줄링 (0) | 2022.02.23 |
[정보처리기사 필기] 운영체제(OS; Operating System) (0) | 2022.02.23 |
[정보처리기사 필기] 서버 프로그램 구현 (0) | 2022.02.20 |
댓글