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
- 하늘
- 성서 주석
- 게시판 감시
- STEP bible
- sword project
- 회중찬양
- 주를기뻐하라
- 리눅스
- 주를 기뻐하라
- 크로스와이어
- NET bible
- 성경 주해
- xiphos
- 파이선
- 쉘스크립트
- 오픈소스
- 아이폰
- 파이썬
- sh
- noti
- Python
- 스크립트
- 이메일 노티
- 사진
- 시포스
- 쉘
- 소드 프로젝트
- 우분투
- Bash
- crosswire
Archives
- Today
- Total
저 세상밖으로...
함수(function) 본문
함수 원형
return_type function_name(arg-type name-1, ....arg-type name-n);
함수 정의
return_type function_name(arg-type name-1, ....arg-type name-n) { /* 함수의 여러가지 문장들 */ }
인수(arguments)와 매개 변수(parameter)
: 매개 변수(parameter) 안에 인수(arguments)를 넣는다.
#include <stdio.h> float x = (float) 3.5, y = (float) 65.11, z; float half_of(float k); main() { /* 여기서 x가 half_of()에 대한 인수이다. */ z = half_of(x); printf("The value of z = %f \n", z); /* 여기서 y가 half_of()에 대한 인수이다. */ z = half_of(y); printf("The value of z = %f\n", z); return 0; } float half_of(float k) { /* k는 매개변수이다. half_of()가 호출될때마다 k는 인수로 전달된 값을 가진다. */ return (k/2); }
전역 변수(global variables)와 지역변수(local variables)
- 전역에서 선언된 변수를 지역 함수에서도 호출할 수 있다.
- 필요시 전역 변수를 지역 함수에서도 지정이 가능하며, 메인 함수에서 저장된 값을 호출할 수 있다.
- 하지만 같은 이름으로 지역 함수에서 변수를 선언할 경우(이른바 로컬 변수 local variables), 전역 변수와는 개별적으로 변수가 저장되고 호출된다.
#include <stdio.h> int a = 1; void local_function1(); void local_function2(); void local_function3(); main() { printf("in main funciton : a = %d\n", a); local_function1(); local_function2(); printf("in main funciton : a = %d\n", a); local_function3(); printf("in main funciton : a = %d\n", a); } void local_function1() { printf("in local function : a = %d\n", a); // 전역 변수를 호출한다. } void local_function2() { a = 0; // 전역 변수a에 0을 할당한다. } void local_function3() { int a = 2; printf("in local function : a = %d\n", a); // 전역 변수를 호출한다. }
위 소스의 결과는 다음과 같다.
in main funciton : a = 1 in local function : a = 1 in main funciton : a = 0 in local function : a = 2 in main funciton : a = 0
local_function1에서는 전역 변수 a를 호출하여 1을 출력하였다.
local_function2에서는 전역 변수 a에 0을 할당하여, 메인함수에서 0을 출력하였다.
그런데 local_function3에서는 로컬 변수 a를 선언하고 2를 할당하였다. 이에 로컬 함수에서는 전역 변수와 독립된 값 2를 출력하였으나, 메인함수에서는 여전히 할당된 0을 출력하고 있다.
'프로그래밍 > C언어' 카테고리의 다른 글
문장(Statement), 수식(expression), 연산자(operator) (0) | 2016.05.06 |
---|---|
변수 (0) | 2016.05.06 |
Comments