C언어 :: C언어 용어 정리(5)
배열명
배열명은 배열의 첫 번째 요소의 주소이기 때문에 배열의 첫 번째 요소를 가리킨다. 포인터처럼 사용할 수 있으나, 포인터와 다르게 배열명은 상수이므로 그 값을 바꿀 수 없다.
★TIP 배열명의 특징
배열명의 덧셈이나 뺄셈을 하면 0에서 더한 숫자만큼 인덱스를 움직여 요소에 접근한다. 그러나 실질적으로 접근하는 메모리 주소는 더한 숫자에 자료형의 크기만큼 움직인 곳이다.

scanf 함수
stdin 스트림 파일로부터 데이터를 형식에 따라 변환하여 입력하는 함수
화이트 스페이스 white space
space bar, tab, enter 키를 눌렀을 때 입력되는 문자를 묶어 부르는 말
버퍼 buffer
프로그램이 출력한 데이터를 모아서 한꺼번에 출력 장치로 보내거나 입력 장치에서 한 번에 많은 데이터를 읽어 저장해놓고 프로그램이 필요한 데이터를 바로 꺼내 쓸 수 있도록 준비하는 공간

gets 함수
stdin 스트림 파일로부터 한 줄의 데이터를 읽는 함수

strcpy 함수
문자열을 복사한다.

지역 변수 local variable
블록 내에 선언되어 해당 블록 내에서만 사용할 수 있는 변수. 따라서 다른 블록 내에서는 사용할 수 없다. auto 예약어와 함께 함수 안에서 지역 변수를 선언한다.
auto가 없어도 블록 안에 선언된 변수는 자동으로 지역 변수가 된다.
★TIP 지역 변수와 자동 변수
둘은 같은 용어다. 지역 변수는 기억 부류 중 하나. 따라서 지역 변수는 변수의 특성 중에 사용 범위를 강조한 것이며 자동 변수는 지역 변수가 auto 예약어를 사용하므로 쓰는 용어이다.
기억 부류 storage class
변수를 사용 범위와 메모리에서의 존재 기간에 따라 나눈 것
전역 변수 global variable
함수 밖에 변수를 선언하면 전역 변수가 된다. 전역 변수는 특정 함수의 블록에 포함되지 않으므로 사용 범위가 함수나 블록으로 제한되지 않는다
정적 지역 변수 static local variable
선언된 함수가 반환되더라도 그 저장 공간을 계속 유지하는 변수


레지스터 변수 register variable
블록 혹은 함수 내에 변수를 선언할 때 사용할 수 있는 변수이다. CPU 내의 공간인 레지스터에 저장되기 때문에 일반적인 지역 변수와는 다르다.
★TIP 레지스터 변수로 지정했는데, 레지스터 변수가 아닐 수도 있다?
레지스터는 CPU의 연산장치가 사용하는 비싸고 중요한 저장 공간이므로 당장 연산할 필요가 없는 데이터를 레지스터에 보관하면 레지스터의 활용성이 떨어진다. 따라서 컴파일러는 사용자가 레지스터 변수를 선언하더라도 레지스터와 메모리 중에 어디에 할당하는 것이 더 이득인지 판단하여 적당한 저장 공간을 선택한다.
'Language > C언어' 카테고리의 다른 글
C언어 :: C언어 용어 정리(7) (0) | 2023.03.21 |
---|---|
C언어 :: C언어 용어 정리(6) (0) | 2023.01.16 |
C언어 :: C언어 용어 정리(4) (0) | 2023.01.14 |
C언어 :: C언어 용어 정리(3) (0) | 2023.01.13 |
C언어 :: C언어 용어 정리(2) (0) | 2023.01.12 |
댓글