Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 정수론
- BFS
- Python
- C언어
- Math
- BASIC
- 인프런
- Algorithm
- Cleancode
- Algospot
- 생활코딩
- String
- JavaScript
- 따라하며 배우는 C언어
- BOJ
- php
- web
- 따배씨
- graph
- C
- programmers
- udemy
- DP
- dfs
- server
- 따라하면서 배우는 C언어
- 종만북
- greedy
- 백준
- sorting
Archives
- Today
- Total
몽상실현개발주의
[따배씨] 12.10 변수의 저장 공간 분류 요약 정리 ~ 12.11 함수의 저장 공간 분류 본문
따배씨 - 따라하며 배우는 C언어
12강 Storage Classes, Linkage and Memory Management
12.10 변수의 저장 공간 분류 요약 정리
- skip
12.11 함수의 저장 공간 분류
// main.c
#include <stdio.h>
/*
Storage Classes and Functions
- Functions external (by defualt) or static
- A function declaration is assumed to be extern
*/
int g_int = 123; // defining declaration
void fun(void); // extern void fun(void);
void fun_second(void); // extern void fun_second(void);
int main(){
fun();
// g_int is fun() 124 0x100008010
fun_second();
// g_int in fun_second() 125 0x100008010
return 0;
}
void fun(){
extern int g_int; // optional
g_int += 1;
printf("g_int is fun() %d %p\n", g_int, &g_int);
}
// second.c
#include <stdio.h>
extern int g_int;
void fun_second(void){
g_int += 1;
printf("g_int in fun_second() %d %p\n", g_int, &g_int);
}
#include <stdio.h>
static void tool(void){
// do something!
}
void fun_second(void){
tool();
}
- 함수에도 static 선언 가능
- 외부 함수에서 모듈화된 함수를 사용하지 못하게 막는 용도로 사용
- 함수의 body가 아닌 prototype 에서만 static 선언을 하여도 static function 으로 선언 됨
이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.
http://blog.naver.com/atelierjpro
http://www.inflearn.com/course/following-c
'Language > C' 카테고리의 다른 글
[따배씨] 12.13 메모리 동적 할당 (0) | 2021.06.14 |
---|---|
[따배씨] 12.12 난수 생성기 모듈 만들기 예제 (0) | 2021.06.14 |
[따배씨] 12.9 정적 변수의 내부 연결 (0) | 2021.06.14 |
[따배씨] 12.8 정적 변수의 외부 연결 (0) | 2021.06.14 |
[따배씨] 12.7 블록 영역의 정적 변수 Static (0) | 2021.06.13 |
Comments