7장 함수(Function).

Slides:



Advertisements
Similar presentations
1.1 구조체란 1.2 중첩 구조체 1.3 구조체와 배열 1.4 구조체와 포인터 1.5 구조체와 함수 1.6 공용체와 열거형.
Advertisements

1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
제2장 C 언어의 확장 C++(1).
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
6장 명령문.
Chapter 7. 조건문.
C 프로그래밍.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
컴퓨터 프로그래밍 기초 [Final] 기말고사
-Part2- 제3장 포인터란 무엇인가.
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
쉽게 풀어쓴 C언어 Express 제9장 함수와 변수 C Express.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
개정판 누구나 즐기는 C언어 콘서트 제9장 포인터 출처: pixabay.
5장 배열 작성자 : 변재현.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
10장 함수.
Visual Basic 함수.
C 프로그래밍.
포인터 활용 포인터 활용.
6 반복문의 기본 for 문 여러 번 반복하는 작업은 for 문으로!.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
6주차: Functions in C and Others
쉽게 풀어쓴 C언어 Express 제9장 함수와 변수 C Express.
쉽게 풀어쓴 C언어 Express 제9장 함수와 변수 C Express Slide 1 (of 33)
14장. 포인터와 함수에 대한 이해.
11장. 1차원 배열.
순서도.
C#.
C 2장. C 프로그램 시작하기 #include <stdio.h> int main(void) { int num;
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
제 6장 함수 Hello!! C 언어 강성호 김학배 최우영.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
19. 함수 포인터와 void 포인터.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
함수와 변수 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
10장 부프로그램 구현 순천향대학교 컴퓨터공학과 하 상 호.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
처음으로 배우는 C 프로그래밍 제4부 복합 데이터 형 제 7 장 배열.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
Chapter 08. 함수.
Fucntion 요약.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
-Part1- 제7장 반복문이란 무엇인가.
^^ Computer Programming 2 dmpr.cnu.ac.kr/~daygax.
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
제 6 장 함수(functions).
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
7주차: Functions and Arrays
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
Static과 const 선언 조 병 규 한 국 교 통 대 학 교 SQ Lab..
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
argc, argv 의 사용방법 #include <stdio.h>
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
어서와 C언어는 처음이지 제21장.
함수 정의, void 자료형 함수 원형선언 함수 호출 변수 영역 규칙 재귀 함수
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

7장 함수(Function)

7장 함수(function) 함수(Function) 함수의 선언과 호출 인수 전달(Parameter Passing) 재귀함수 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 7장 함수(function) 함수(Function) 함수의 선언과 호출 인수 전달(Parameter Passing) 재귀함수 주기억 장소관리(Memory Management)

함수(function) 함수 함수의 종류 함수 사용의 장점 특정 작업을 수행하는 코드의 집합 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 함수(function) 함수 특정 작업을 수행하는 코드의 집합 함수의 종류 ( ) : C 언어에서 제공하는 함수 사용자 정의 함수: 사용자가 작성한 함수 main( )함수: ( ) 서브 함수(sub function) 함수 사용의 장점 코드의 재사용성을 향상, 개발시간을 단축 여러 사람이 나누어 작성가능, 큰 시스템 개발에 효과적 에러수정이 용이함, 프로그램 유지보수에 효과적

수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 함수(function)- 기본요소

함수의 정의 1 입, 출력이 모두 있는 함수 x, y를 입력 받아 sum() 함수의 기능을 처리하고 int형으로출력 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 함수의 정의 1 입, 출력이 모두 있는 함수 x, y를 입력 받아 sum() 함수의 기능을 처리하고 int형으로출력 출력 형태가 있어서 함수 내에서 반드시 return문을 사용해야 함 출력 형태 있음 (int) 입력 형태 있음 (int x, int y) result = x + y result x, y

함수의 정의 2. 입력은 없고, 출력만 있는 함수 입력 받는 값 없이 함수의 기능을 처리하고 int형으로 출력 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 함수의 정의 2. 입력은 없고, 출력만 있는 함수 입력 받는 값 없이 함수의 기능을 처리하고 int형으로 출력 출력 형태가 있어서 함수 내에서 반드시 return문을 사용해야 함 출력 형태 있음 (int) 입력 형태 없음 (void) scanf(“%d”, num); num

함수의 정의 3. 입력은 있고, 출력이 없는 함수 x값을 입력받아 함수의 기능을 처리하고 출력은 하지 않음 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 함수의 정의 3. 입력은 있고, 출력이 없는 함수 x값을 입력받아 함수의 기능을 처리하고 출력은 하지 않음 출력 형태가 void이므로 함수 내에서 return 문 생략가능 출력 형태 없음  (void) 입력 형태 있음  (int x) x printf(“%d”, a);

함수의 정의 4. 입, 출력이 모두 없는 함수 입력 없이 함수의 기능을 처리하고 출력은 하지 않음 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 함수의 정의 4. 입, 출력이 모두 없는 함수 입력 없이 함수의 기능을 처리하고 출력은 하지 않음 출력 형태가 void이므로 함수 내에서 return 문 생략가능 출력 형태 없음  (void) 입력 형태 printf(“Hello”); printf(“world”);

함수의 호출 함수의 ( ) 함수의 입출력 목록이 있는 문장 함수의 ( ) 함수의 기능을 정의한 문장 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 함수의 호출 함수의 ( ) 함수의 입출력 목록이 있는 문장 함수의 ( ) 함수의 기능을 정의한 문장 함수의 ( ) 정의한 함수를 호출 하는 문장 첫 번째 방법 함수의 ( ) 함수의 ( ) 두 번째 방법 함수의 ( ) 함수의 ( ) 함수의 ( )

수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 함수의 호출(첫번째 방법)

수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 함수의 호출(첫번째 방법)

수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 함수의 호출(두번째 방법)

함수의 호출(P164) 호출할때 실인수 i,j의 값은 가인수 x, y의 값으로 복사된다 가인수와 실인수의 개수는 같아야한다 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 함수의 호출(P164) 호출할때 실인수 i,j의 값은 가인수 x, y의 값으로 복사된다 가인수와 실인수의 개수는 같아야한다 가인수와 실인수는 나열된 순서대로 각 인수의 형태가 같아야 한다

예제- 입출력이 없는 함수(p164) #include <stdio.h> 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 예제- 입출력이 없는 함수(p164) #include <stdio.h> void display1( ) { /* 가인수와 결과 값이 없는 함수 */ printf("\n *** Function display1( ) *** \n"); } void display2( ) { printf("\n === Function display2( ) ===\n"); int main(void) { printf(" Call function display1( )\n"); display1( ); printf(" Call function display2( )\n"); display2( ); return 0;

예제- 입력 인수만 있는 함수(p165) #include <stdio.h> 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 예제- 입력 인수만 있는 함수(p165) #include <stdio.h> void space(int n) { /* n은 가인수 */ int i; for (i = 0; i < n; i++) printf(" "); } int main( ) { for (i = 0; i < 10; i++) { space(i); /* i는 실인수 */ printf("Hello everybody\n"); return 0;

예제- 입출력이 모두 있는 함수( P166) 정수의 절대값을 구하는 함수(입력인수 1개) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 예제- 입출력이 모두 있는 함수( P166) 정수의 절대값을 구하는 함수(입력인수 1개) #include <stdio.h> int abs(int k) { /* k는 가인수 */ int m; m = (k<0)? -k : k; return(m); /*함수의 출력형태가 int 이므로 정수값(int m)을 반환 */ } void main( ) { int a=10, b= -20, c=30; int x, y, z; x = abs(a); /* a는 실인수 */ y = abs(b); /* b는 실인수 */ z = abs(c); /* c는 실인수 */ printf(" a = %d\t b = %d\t c = %d\n", a, b, c); printf(" x = %d\t y = %d\t z = %d\n", x, y, z); return 0;

예제- 입출력이 모두 있는 함수(P167) 함수를 이용해 두수의 합구하기(입력인수 2개) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 예제- 입출력이 모두 있는 함수(P167) 함수를 이용해 두수의 합구하기(입력인수 2개) #include <stdio.h> int plus(int x, int y){ /* x,y는 가인수 */ int z; z = x+y; return(z); } int main( ) { int a, b, c; a = 4; b = 5; c = plus(a, b); /* a,b는 실인수 */ printf(" %d + %d = %d\n", a, b, c); return 0;

인수 전달(Parameter passing) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 인수 전달(Parameter passing) 인수(Parameter) 함수간에 서로 주고 받을 자료 ( ): 호출되는 함수의 인수(자료를 넘겨 받음) ( ): 호출하는 함수의 인수(자료를 넘겨 줌) 인수 전달 방식 ( )에 의한 호출(call by value) ( )에 의한 호출(call by reference)

인수 전달 방식 1. ( )에 의한 호출(call by value) 2. ( )에 의한 호출(call by reference) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 인수 전달 방식 1. ( )에 의한 호출(call by value) 호출시에 실인수의 값이 가인수로 복사된다. 가인수와 실인수는 독립적인 복사본 관계 가인수의 값이 변경되도 실인수의 값은 영향이 없다 2. ( )에 의한 호출(call by reference) 호출시에 실인수의 주소가 가인수로 복사된다. 가인수가 실인수의 값을 참조한다 가인수가 참조하는 값을 변경하면 실인수의 값에 영향이 있다.

수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 값에 의한 호출(call by value)

참조에 의한 호출(call by reference) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 참조에 의한 호출(call by reference)

예제- call by value (p173) int power(int x, int y) { int i, p; p = 1; 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 예제- call by value (p173) int power(int x, int y) { int i, p; p = 1; for (i = 1; i <= y; i ++) p = p * x; return(p); } int main( ) { int base, i, value; base = 2; for (i = 0; i <= 20; i++) { value = power(base, i); printf("%d ** %d = %d\n", base, i, value); return 0;

재귀함수 재귀함수(recursive call) 직접 재귀함수 간접 재귀함수 함수 내에서 ( )을 호출하는 함수 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 재귀함수 재귀함수(recursive call) 함수 내에서 ( )을 호출하는 함수 주의사항: ( ) 직접 재귀함수 간접 재귀함수

재귀함수- 예제1(p175) int function_A(int i) { 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 재귀함수- 예제1(p175) int function_A(int i) { if (i == 10) return 0; /* 끝나는 조건 */ else { printf("recursion parameter i = %d \n", i); i++; function_A(i); /* 재귀 함수 호출 */ } int main( ) { int i = 5; /* 정수 변수 i를 5로 초기화 */ printf("Start recursion function \n "); function_A(i); printf("End of recursion function"); return 0;

재귀함수- 예제2(P176) #include <stdio.h> int factorial(int k){ 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 재귀함수- 예제2(P176) #include <stdio.h> int factorial(int k){ if(k>1) return k*factorial(k-1); else return 1; } int main( ) { int i; scanf("%d", &i); printf("\n %d factorial=%d", i, factorial(i)); printf("\n\n"); return 0;

재귀함수- 예제3(P177) #include <stdio.h> void function_A(int i); 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 재귀함수- 예제3(P177) #include <stdio.h> void function_A(int i); void function_B(int i); int main( ) { int i = 0; function_A(i); return 0; } void function_A(int i) { if ( i == 10) return; else { printf("Function_A ::: "); function_B(i); void function_B(int i) { if (i == 10) return; else { printf(" Function _B( ) i = %d \n", i++); function_A(i); /* function_A를 재귀 호출 */ }

재귀함수- 예제4(p178) 역승 #include <stdio.h> int power(int x, int y) { 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 재귀함수- 예제4(p178) 역승 #include <stdio.h> int power(int x, int y) { return (y == 0)? 1 : x*power(x,y-1); } int main( ) { int m=2, k, c; for (k=0; k<=10; k++){ c = power(m,k); printf(" %d ^ %d = %3d\n", m, k, c); return 0;

재귀함수- 예제5(p178) #include <stdio.h> #include <conio.h> 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 재귀함수- 예제5(p178) #include <stdio.h> #include <conio.h> void dasi( ); void main( ){ int ch; printf("Please input. \n Q ==> end\n"); ch = getch( ); printf("Input == %c character\n", ch); if(ch != 'q' && ch != 'Q') dasi( ); } void dasi( ) { main( );

Main()함수에 인수를 전달하는 방법-(P179) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 Main()함수에 인수를 전달하는 방법-(P179) 인수 ( )를 저장하는 인수 #include <stdio.h> int main(int argc, char *argv[ ]) { int i; for (i=0; i<argc; i++) printf("Argument(가인수)의 수=%d,\t 값=%s\n", i, argv[i]); printf("Argc = %d\n", argc); return 0; } 인수( )들을 저장하는 인수

예제- main()함수의 인수-(p179) void usage( ) { printf("\n"); 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 예제- main()함수의 인수-(p179) void usage( ) { printf("\n"); printf("Usage : argc2 [file-name]\n"); } int main(int argc, char *argv[]) { if (argc !=2){ usage( ); printf("argv[1] == %s\n", argv[1]); return 0;

주기억 장소 관리 기억장소에서의 변수의 위치 주기억 장소의 할당(P184그림참조) ( ) : ( 전역변수, Static 변수) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 주기억 장소 관리 기억장소에서의 변수의 위치 주기억 장소의 할당(P184그림참조) ( ) : ( 전역변수, Static 변수) 함수 시작시 할당 함수 종료시 소멸 ( )

변수의 범위(scope) 지역변수(Local variable) 전역변수(Global variable) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 변수의 범위(scope) 지역변수(Local variable) 선언된 함수또는 블록 내에서만 사용 조건문 또는 반복문의 중괄호({ }) 내부에서 사용 함수의 인수(Parameter) 즉, 함수의 입력 변수들 초기화하지 않으면 쓰레기값이 들어가 있다. 함수가 종료될때 소멸된다. 전역변수(Global variable) 중괄호({ }) 외부에서 사용, 즉 모든 함수에서 사용 초기화하지 않아도 자동으로 0으로 초기화된다. 프로그램이 종료될 때 소멸된다

변수의 범위(scope) ( ) (Static variable) ( )(Extern variable) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 변수의 범위(scope) ( ) (Static variable) 자료형 앞에 ( ) 키워드를 붙임 함수내 지역변수를 함수종료 후에도 유지시킬때 사용 함수밖 전역변수를 외부화일에서 참조하지 못하도록 할때 ( )(Extern variable) 다른 파일(외부)에 있는 전역 변수를 이용할때 사용 자료형 앞에 ( ) 키워드를 사용 ( )(Register variable) CPU 내부의 레지스터에 변수를 할당하는 변수 처리속도가 빠름

변수의 범위(scope)-(p188) 전역 변수 외부변수 (전역 변수) 전역 변수 지역 변수 레지스터변수 외부변수 (무시된다) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 변수의 범위(scope)-(p188) 전역 변수 외부변수 (전역 변수) 전역 변수 지역 변수 레지스터변수 외부변수 (무시된다) 정적 변수 전역 변수 전역 변수 외부변수 (지역 변수) 지역 변수

지역변수(local variable)-(p189) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 지역변수(local variable)-(p189) #include <stdio.h> void sub( ) { int i =2; printf("함수 sub( ) --> i == %d\n",i); } int main( ) { int i =7; sub( ); printf("함수 main( ) --> i == %d\n",i); return 0; 지역적으로 전혀 다른 지역 변수 우린 서로 달라!

전역변수(Global variable)-(p190) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 전역변수(Global variable)-(p190) #include <stdio.h> int i=7; /* 전역 변수 */ void sub( ) { i = i + 1; printf("함수 sub( ) → i == %d\n",i); } void main( ) { printf("함수 main( ) → i == %d\n",i); sub( );

정적변수(Static variable)-(p191) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 정적변수(Static variable)-(p191) #include <stdio.h> void sub1( ){ int j=0; j = j + 1; printf("local variable j = %d\n", j); } void sub2( ){ static int k=0; /* 정적변수 */ k = k + 1; printf("global variable k = %d\n", k); void main( ){ int i; for (i=0;i<5; i++) sub1( ); for (i=0;i<5; i++) sub2( );

지역변수와 전역변수 예제(p192) void sub1( ); void sub2( ); int main( ) { 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 지역변수와 전역변수 예제(p192) void sub1( ); void sub2( ); int main( ) { int i=0; /*지역변수*/ sub1( ); sub2( ); printf("함수 main( ) --> i == %d\n", i); return 0; } static int i; /*전역변수 */ void sub1( ) { ++i; printf("함수 sub1( ) --> i == %d\n", i); void sub2( ) { printf("함수 sub2( ) --> i == %d\n", i); static을 생략해도 결과는 같다. static을 붙임으로 외부화일에서 참조하는 것을 금한다.

정적변수와 지역변수의 비교-(P192) #include <stdio.h> void sub( ); 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 정적변수와 지역변수의 비교-(P192) #include <stdio.h> void sub( ); int main( ) { printf("STATIC\t AUTO\n"); printf("------------------\n"); sub( ); sub( ); sub( ); return 0; } void sub( ) { static int i=1; /*정적변수*/ auto int k=1; /*지역변수, auto 를 생략해도 됨*/ printf("i == %d\t k == %d\n",i,k); i++; k++;

외부변수(Extern variable)-(p193) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 외부변수(Extern variable)-(p193) file1.c 외부화일(file2.c) 에서 정의한 함수를 사용하고자 할때 #include <stdio.h> //#include "file2.c" void sub1( ); void sub2( ); int x; void main( ) { x = 10; sub1( ); sub2( ); sub3( ); sub4( ); } void sub1( ){ x++; printf("함수 sub1( ) → x == %d\n",x); void sub2( ){ printf("함수 sub2( ) → x == %d\n",x); file2.c sub3( ) { extern int x; /* 외부변수*/ x++; printf("함수 sub3( ) → x == %d\n",x); x = 300; } sub4( ) { int x = 400; /* 지역 변수 */ printf("함수 sub4( ) → x == %d\n",x); 외부화일(file1.c) 에서 정의한 변수를 사용하고자 할때

레지스터 변수(Register variable)-(p194) 수원과학대학 컴퓨터정보과 1학년 1학기 2019-05-11 레지스터 변수(Register variable)-(p194) #include <stdio.h> int main( ) { register int k,m; /*레지스터 변수 */ for(k=m=0; k<=100; k++) m+=k; /* m = m + k;와 같다 */ printf("합계는 %d 입니다.\n", m); return 0; }