함수와 기억클래스

2023. 4. 26. 15:59개발하는중/c

728x90
반응형

 

함수

개념

특정한 작업(기능)을 수행하도록 설계된 독립적인 프로그램

 

특성

함수 글은 서로를 자유로이 호출 가능

모든함수는 서로 독립적

 

장점

프로그램 수정이 용이하다

함수 재사용으로 코드 중복 최소화

기능을 한눈에 파악하므로 유지관리가 쉬워짐

 

표준함수

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를 사용

자동 변수와 동일한 속성

프로그램의 실행속도 증가를 목적으로 사용- 주로 반복문에서 카운터 변수로 사용

 

 

728x90

'개발하는중 > c' 카테고리의 다른 글

구조체와 공용체  (0) 2023.05.19
배열과 포인터  (0) 2023.05.03
제어문  (0) 2023.04.03
연산자  (0) 2023.04.03
표준 입출력 함수  (0) 2023.04.03