storage class 1 2 auto register 3 static

  • Slides: 9
Download presentation
기억류 (storage class) 1. 지역변수와 전역변수 2. auto, register 3. static, extern 4. 도움말

기억류 (storage class) 1. 지역변수와 전역변수 2. auto, register 3. static, extern 4. 도움말 사용법

3. auto, register 변수 예제. #include <stdio. h> int sub 1(int x); int sub

3. auto, register 변수 예제. #include <stdio. h> int sub 1(int x); int sub 2(int x); int main() { int a = 10; auto int n = 20; register int r = 30; sub 1(n); sub 2(r); printf(“ pi = %lf n”, pi); } int sub 1(int x) { return x++; } int sub 2(int x) { return --x; } auto 기억류 int 자료형 n = 20; 변수명 auto : 지역변수로만 활용한다. 기억류를 생략하면 auto register : cpu내부의 register를 할당. 여분의 register가 없다면 auto처리. 시스템이 결정.

4. register 변수 확보 위치. auto int n = 20; register int r =

4. register 변수 확보 위치. auto int n = 20; register int r = 30; memory cpu n register AX BX CX DX EX SP r HDD

5. static, extern static은 프로그램 종료시까지 공간을 유지한다. extern은 외부파일과 공유하기 위한 변수이다. static

5. static, extern static은 프로그램 종료시까지 공간을 유지한다. extern은 외부파일과 공유하기 위한 변수이다. static int n = 100; int main() { static int a = 30; } void sub(int x) { n = 3000; a = 5000; //error }

6. extern 예제. extern int ss = 0; int main() { ss = 500;

6. extern 예제. extern int ss = 0; int main() { ss = 500; printf(" ss = %5 d , Address = %d n", ss, &ss); sub(ss); } void sub(int x) { extern int ss; // ss변수는 외부파일에 있다. ss = 3000; printf("n ss = %5 d , Address = %d n", ss, &ss); }