본문 바로가기
코스웨어/13년 스마트컨트롤러

[수업정리]130510_김창훈

by 알 수 없는 사용자 2013. 5. 20.
728x90
반응형

[C언어]

저장클래스

C 언어에서 변수와 함수는 저장 클래스를 가진다. 저장 클래스는 변수와 함수의 지속기간(duration)과 유효범위(scope)를 명시해준다.

저장 클래스의 설정이유는 변수와 함수에 지속기간과 유효범위를 부여함으로써 메모리를 효율적으로 사용하고 프로그래밍 오류를 줄이기 위해서이다.

저장 클래스에는 auto, register, static, extern의 네 가지가 있다.

1. 지속기간

auto 클래스는 가장 많이 사용되는 것으로 함수 내에서 저장 클래스를 명시하지 않고 사용되는 변수들이다.

auto 클래스의 변수는 함수 내에서 선언되어 함수가 실행을 시작할 때 생성되어 함수가 실행을 종료하면 소멸된다.

register 클래스는 컴파일러가 CPU의 레지스터 중 하나를 이 변수로 사용하게 한다.

auto 클래스나 register 클래스와는 달리 함수의 실행이 끝난 뒤에도 남아있는 변수는 static 클래스와 extern 클래스이다.

static 클래스는 함수의 내부에서나 외부에서 모두 선언될 수 있고 extern 클래스는 함수의 외부에서만 선언된다.

static 변수는 초기화를 하지 않아도 시스템에 의해서 자동적으로 0이나 NULL로 초기화된다.

2. 유효범위

함수 내에서 정의되었을 경우 auto 클래스와 static 클래스의 유효범위는 같다.

외부변수는 선언된 파일뿐만 아니라 extern을 사용하여 다른 파일에서도 인식될 수 있다.

단 외 부변수 중 static 클래스는 선언된 파일 내에서만 인식되며, 다른 파일에서는 인식되지 않는다.

함수의 경우는 모두 외부함수로 간주되어 변수의 경우처럼 다른 파일에서 extern을표시해서 사용할 수 있다.

함수 앞에 static라 명시된 함수는 다른 파일에서 사용할 수 없다.

 

< 변수의 유효범위 >

 < 판서 1 >

< 판서 2 >

[ARM]

< 판서 1 >

[논리회로]

◎ 전가산기

< 전가산기의 진리표 >

 

 

 

 

* 자신에게 맞는 요금제를 씁시다 *

* 자신에게 맞는 요금제를 씁시다 *

728x90