안녕하세요? 허니입니다. 오늘은 C 언어의 함수와 변수에 대해 포스팅 하려고 합니다. 학생이나 연구원분들에게 많은 도움이 될 것이라고 생각하며 언제든지 질문은 환영입니다.
C 언어란?
함수
8.1. 함수의 정의와 선언
• main 함수 다시 보기 : 함수의 기본 형태
• 함수를 정의하는 이유
모듈화에 의한 프로그램의 질 향상이 가능
유지 보수 및 확장의 용이성
문제 해결의 용이성 : "Divide and Conquer!"
• 4가지 형태의 함수
전달 인자 有, 반환 값 有
전달 인자 有, 반환 값 無
전달 인자 無, 반환 값 有
전달 인자 無, 반환 값 無
• 전달 인자와 반환 값, 둘 다 있는 함수
• 함수 호출 과정의 이해
• 다양한 형태의 함수
• 함수 선언의 필요성
컴파일러의 특성상, 함수는 호출되기 전에 정의되어야 한다.
• 함수 선언의 의미
이후에 정의될 함수에 대한 정보 제공
8.2. 변수의 범위(scope)
• 변수의 특성에 따른 분류
지역 변수(Local Variable)
– 중 괄호 내에 선언되는 변수
전역 변수(Global Variable)
– 함수 내에 선언되지 않는 변수
정적 변수(Static Variable)
– 함수 내부, 외부 모두 선언 가능
레지스터 변수(Register Variable)
– 선언에 제한이 많이 따름
• 지역 변수의 접근 범위
지역 변수는 선언 된 함수 내에서만 접근 가능
• 지역 변수의 메모리상 존재 기간
• 지역 변수의 메모리상 존재 기간
• 지역 변수의 메모리상 존재 기간
• 또 다른 형태의 지역 변수
while, for, if와 같은 문장에 의해 형성 되는 지역 내에서 선언되는 변수
• 지역 변수의 또 다른 특성
경우에 따라서 지역 변수는 다른 지역 변수를 가리기도 한다.
• 지역 변수와 매개 변수
매개 변수도 지역 변수의 일종이다.
• 전역 변수
프로그램 어디에서나 접근이 가능한 변수
특정 영역(함수, 반복문...)에 속하지 않는다.
프로그램이 종료될 때까지 존재
• 전역 변수의 또 다른 특징
같은 이름의 지역 변수에 의해서 가려지기도 한다.
• static 변수
함수 내부 및 외부에 선언 가능하다.
한번만 초기화된다 : 전역 변수의 특징
함수 내부에서 선언될 경우 함수 내에서만 접근이 가능하다 : 지역 변수의 특징
• 보다 빠르게! register 변수
8.3. 재귀 함수
• 재귀 함수의 기본적 이해
자기 자신을 다시 호출하는 형태의 함수
• 탈출 조건의 필요성
무한 재귀 호출을 피하기 위해서
• 탈출 조건의 이해
• 재귀 함수 Design 사례
팩토리얼(factorial) 계산을 위한 알고리즘
• 재귀 함수 Design 사례
알고리즘을 코드로 옮기기 위한 pseudo code와 C 코드
'Past Material' 카테고리의 다른 글
C 언어 포인터 (0) | 2019.05.16 |
---|---|
C 언어 1차원 배열 (0) | 2019.05.15 |
C 언어 조건문(if, else, continue, break, switch) (0) | 2019.05.15 |
C 언어 반복문(for, while, do~while) (0) | 2019.05.15 |
C 언어 printf() & scanf() 함수 (0) | 2019.05.15 |