CS/C

20240108 C - 함수

싹난 감자 2024. 1. 8. 12:22
#include <stdio.h> //정적 라이브러리
// dll 동적 라이브러리
//다이렉트x 그래픽 라이브러리


//함수 선언(Declaration) : .h 선언부를 모아둔 게 헤더파일
//컴파일 속도를 줄이기 위해 선언부와 정의부를 따로 저장한다
//컴파일 시간에는 헤더 파일만 포함됨
//현재는 프리 컴파일(코딩 중 백그라운드에서 컴파일 진행되고 있음)로 속도 문제는 없음


void PrintHello();

// int Sum(매개 변수(Parameter));
// 보통 외부에서 들어온 값이 매개변수 일 때 _를 붙임
// 함수 정의부 내부에서 만들어져서 쓰이는 경우에는 _를 안붙임
// 선언부에서 const int _lhs 했으면 정의부에서도 const 붙여줘야한다
// 선언부에서 중요한건 리턴 타입, 함수명, 매개변수 타입과 개수
// 변수명은 안써도 문법적으로는 괜찮지만 써 주는 것이 좋다
int Sum(const int _lhs, const int _rhs);

int main() {

	// 함수 호출(Function Call)
	PrintHello();
	//인자(Arguments)
	int arg = 1;
	printf("Sum: %d\n", Sum(arg, 3));

	return 0;
}

//함수 정의(Definition) : .c
void PrintHello() {
	printf("Hello\n");
}

int Sum(const int _lhs, const int _rhs) { // 정의부에서 const int _lhs 했으면 선언부에서도 const 붙여줘야한다
	// _lhs = 100;
	// 입력된 매개변수로 오롯이 연산을 해야하는데 내부에서 값이 변경하도록 수정하는 사람이 있을 수 있다
	// 해서 값이 변하지 않도록 보장하고 싶다면 const 붙여준다
	int lhs = 0;
	return _lhs + _rhs;
}

'CS > C' 카테고리의 다른 글

20240109 C - 문자열  (0) 2024.01.10
20240105 C - 반복문  (1) 2024.01.08
20240105 C - 변수  (1) 2024.01.05
20240104 C - 조건문  (1) 2024.01.05
20240103 C - 연산자  (1) 2024.01.03