2023. 4. 26. 15:59ㆍ개발하는중/c
함수
개념
특정한 작업(기능)을 수행하도록 설계된 독립적인 프로그램
특성
함수 글은 서로를 자유로이 호출 가능
모든함수는 서로 독립적
장점
프로그램 수정이 용이하다
함수 재사용으로 코드 중복 최소화
기능을 한눈에 파악하므로 유지관리가 쉬워짐
표준함수
c언어에서 제공 하는 함수
main() 함수 안에 표준함수를 사용하는 형태
원형은 헤더파일에 정의
실체는 라이브러리 파일에 수록
사용 하려면 선언되어 있는 헤더파일을 #include 해야함
사용자 정의 함수
사용자가 정의 하여 사용 하는 함수
사용하기 위해서는 함수의 원형선언, 함수의 호출, 함수의 정의로 구성 됨
함수는 변수와 같이 사용되기 전에 미리 선언 해야함
함수의 원형선언은 일반적으로 main()함수 이전에 선언
구조
반환자료형 함수명 (자료형 변수1, 자료형 변수)
{
바디
}
반환자료형
호출함수에 return 자료형
return 값이 없으면 void로 선언
변수
함수 호출시 주고 받는 자료형
바디
함수 호출시 수행 정의 부분
ex)
int plus(int num1, int num2)
{
int sum;
sum = num1 + num2;
return(sum);
}
매개변수 사이의 자료전달 방법
값에 의한 자료전달
기본적인 자료 전달 방법
실 매개변수와 형식 매개변수 사이에 값의 전달
호출한 함수의 실행이 끝난 다음 전달받은 값을 되돌려 받지 못함
참조에 의한 자료전달
호출함수와 피 호출함수의 매개변수 값을 서로 교환할 수 있는 자료 전달방법
값을 전달하는 것이 아니라 실 매개변수의 값이 들어 있는 주소 값 전달
기억클래스(strorage class)
변수를 기억공간의 특정영역에 할당하는 방법, 즉 각변수의 유효범위와 존속 기간을 설정
변수의 사용 위치에 따라
지역변수(local variable)
특정 범위 내에서만 통용되는 변수
선언된 블록이나 함수내에서 만 사용
함수에 사용되는 매개변수도 포함
전역변수
함수 밖에나 외부파일에 선언되어 프로그램 전체에 걸쳐 사용될 수 있는 변수
변수의 존속기간에 따라
자동변수
함수 실행시 만들어지고 , 실행이 끝나면 기억공간 제거
예약어 auto를 사용_생략가능
통용 범위는 변수가 선언된 블록이나 함수 내
지역변수에 해당
초기화가 필요
정적변수
기억영역이 프로그램 종료까지 유지
예약어 static 사용
전역변수에 해당
변수의 값을 프로그램 실행 중에 유지
초기화가 없으면 0으로 자동 초기화
외부변수
함수의 외부에 선언
예약어 extern 사용
전역변수에 해당
초기화 안하면 0으로 초기화 됨
다른 파일에서 외부변수로 선언된 변수의 값을 참조 가능
레지스터변수
cpu내의 레지스터에 자료를 저장하고자 할 EO
예약어 register를 사용
자동 변수와 동일한 속성
프로그램의 실행속도 증가를 목적으로 사용- 주로 반복문에서 카운터 변수로 사용