2011년7월20일_C언어 저장클래스(Storage class) 중 함수외부에 static저장클래스의 변수선언과 extern (접근속성(제한)과 전역변수 공개)
시간 없어어엉어어어엉어~
문서정리해 업로드하는게 왜 이렇게 힘든지...ㅠㅠ
참조(Reference) |
1: all: main.h test.h main.o test.o
2: gcc -o main main.c test.c
3:
4: clean:
5: ls -al
6: rm main
7: rm *.o
8: ls -al
9:
10: run: all
11: ls -al
12: ./main
1: // main.h
2: #ifndef __MAIN_H__
3: #define __MAIN_H__
4: #include <stdio.h>
5: #include <stdlib.h>
6: #endif //__MAIN_H__
1: // main.c
2: #include "main.h"
3: #include "test.h"
4:
5: extern int iB;
6: extern int errno;
7: static int iA;
8: //int iB = 7; //test()에서 사용하는 변수니 main()에서 건들지 말 것.
9:
10: int main()
11: {
12: iA = 3;
13:
14: printf("\x1b[45mmain::start------\x1b[0m\n");
15: printf("main::iA = %d\n", iA);
16: printf("main::iB = %d\n", iB);
17: test(10);
18: printf("main::errno = %d\n", errno);
19: printf("\x1b[45mmain::end--------\x1b[0m\n");
20:
21: return 0;
22: }
23:
1: // test.h
2: #ifndef __TEST_H__
3: #define __TEST_H__
4: extern int iB; //iB를 컴파일 해줘라. 링크할 때 알 수 있다.
5: void test(int);
6: #endif //__TEST_H__
1: // test.c
2: #include "test.h"
3:
4: int iA;
5: int iB = 3;
6:
7: void test(int iNum)
8: {
9: printf("\x1b[33mtest::start----------\x1b[0m\n");
10: printf("test::iA = %d\n", iA);
11: printf("test::iB = %d\n", iB);
12: printf("test::iNum = %d\n", iNum);
13: printf("\x1b[33mtest::end------------\x1b[0m\n");
14:
15: return ;
16: }
변수가 공유되고 있는지 아니면 독립인지 구분할 것.
'내장형하드웨어 > 일일보고서' 카테고리의 다른 글
2011년7월21일_JAVA class, 연습문제들 (0) | 2011.07.22 |
---|---|
2011년7월21일_IPC(Inter Process Communication) (0) | 2011.07.22 |
2011년7월20일_이클립스 Package Explorer, JRE System Library, java기본문법, 연습문제3개 (0) | 2011.07.21 |
2011년7월20일_프로세스간 파이프를 통한 통신, pipe()...슈퍼마리오의 배관이라 생각하면되!! (0) | 2011.07.21 |
2011년7월19일_CM샘의 특강...저장클래스(Storage class) CODE, DATA, BSS, heap, stack (0) | 2011.07.20 |