반응형
1. 변수의 개요
변수는 컴퓨터가 명령을 처리하는 도중 발생하는 값을 저장하기 위한 공간으로, 변할 수 있는 값을 의미한다.
- 변수는 저장하는 값에 따라 정수형, 실수형, 문자형, 포인터형 등으로 구분한다.
2. 변수명 작성 규칙
- 영문자, 숫자, _ 를 사용할 수 있다.
- 첫 글자는 영문자나 _로 시작해야 하며, 숫자는 올 수 없다.
- 글자 수에 제한이 없다.
- 공백이나 *, +, -, / 등의 특수문자 사용 불가
- 대소문자 구분
- 예약어를 변수명으로 사용할 수 없다.
- 변수 선언 시 문장 끝에 반드시 세미콜론(;)을 붙여야 한다.
3. 기억 클래스
변수 선언 시 메모리 내에 변수의 값을 저장하기 위한 기억영역이 할당되는데, 할당되는 기억영역에 따라 사용 범위에 제한이 있다. 이러한 기억영역을 결정하는 작업을 기억 클래스(Storage Class)라고 한다.
- C언어에서는 자동변수, 레지스터 변수, 정적 변수(내부), 정적 변수(외부), 외부 변수
- 자동변수
- 함수나 블록이 실행되는 동안에만 존재하며 이를 벗어나면 자동으로 소멸된다.
- 초기화하지 않으면 쓰레기값이 저장된다.
- 외부변수
- 현재 파일이나 다른 파일에서 선언된 변수나 함수를 참조하기 위한 변수, 함수 밖에서 선언, 함수가 종료되어도 값이 소멸되지 않음
- 초기화하지 않으면 0으로 초기화, 다른 파일에서 선언된 변수를 참조할 경우 초기화할 수 없다.
- 정적 변수
- 함수나 블록 내에서 선언하는 내부 정적 변수와 함수 외부에서 선언하는 외부 정적 변수가 있다.
- 내부 정적 변수는 선언한 함수나 블록 내에서만 사용할 수 있고, 외부 정적 변수는 모든 함수에서 사용할 수 있다.
- 두 변수 모두 함수나 블록이 종료되어도 값이 소멸되지 않는다
- 초기화는 변수 선언 시 한 번만 할 수 있으며, 초기화를 생략하면 자동으로 0으로 초기화 된다.
- 레지스터 변수
- 레지스터 변수는 메모리가 아닌 CPU 내부의 레지스터에 기억영역을 할당받는 변수이다.
- 함수나 블록이 실행되는 동안에만 존재하며 벗어나면 자동 소멸
- 레지스터의 사용 개수는 한정되어 있어 꽉 차면 자동 변수로 취급되어 메모리에 할당된다.
- CPU에 저장되어 메모리 주소를 가질 수 없기 때문에 변수의 주소를 구하는 주소 연산자(&)를 사용할 수 없다.
가비지 콜렉터란?
변수를 선언하고 사용하지 않으면 변수들이 점유한 메모리 공간은 다른 프로그램들이 사용할 수 없게 됩니다. 이렇게 선언만 하고 사용하지 않는 변수들이 점유한 메모리 공간을 강제로 해제하여 다른 프로그램들이 사용할 수 있도록 하는 것을 가비지 콜렉터하고 하며 수행하는 모듈 또한 가비지 콜렉터라고 한다.
4. 변수의 선언
자료형 변수명 = 값;
String test = "테스트"
- 자료형: 변수에 저장될 자료의 형식을 가진다.
- 변수명: 사용자가 언하는 이름을 임의로 지정
- 값: 변수를 선언하면서 초기화할 값을 지정한다. 필수는 아님
반응형
'자격증 > 정보처리필기' 카테고리의 다른 글
[정보처리산업기사] 45강 데이터 입/출력 (0) | 2022.03.31 |
---|---|
[정보처리산업기사] 44강 연산자 (0) | 2022.03.31 |
[정보처리산업기사] 42강 데이터 타입 (0) | 2022.03.31 |
[정보처리산업기사] 41강 네트워크 관련 신기술 (0) | 2022.03.31 |
[정보처리산업기사] 40강 DB 관련 신기술 (0) | 2022.03.31 |