5주차 강의 정리(이경훈) - aksrud/3kingOfGod GitHub Wiki

함수

c언어 표준 함수

c언어 표준 함수란 ANSI c표준에 따라 정의된 함수들의 모음으로 기본 입출력, 문자열 처리, 수학 계산, 메모리 관리를 하는 기능이 있다.

ex.) 1. puts() 입력 받은 문자열에다 개행 문자까지 더해서 출력
2. printf() 입력받은 문자열 포맷이 담긴 문자열에다 뒤에 보내진 데이터들을 포맷에 맞게 넣어서 출력

사용자 정의 함수

사용자 정의 함수란 말 그대로 사용자가 정의 한 함수이다. 특이하게 main함수는 사용자 정의 함수이지만. OS가 프로그램을 호출할때 실행되는 엔트리 포인트이므로 꼭 작성이 되어야 한다.

#include <stdio.h>

int main() {
	printf("Hello, World!\n");
	printf("integer : %d\n", 100);
	printf("string : %s\n", "Hello!");

	return 0;
}

라이브러리

라이브러리는 필요한 기능이 있는 코드의 묶음으로 주로 변수나 구조체, 함수등을 포함할수 있다.
주로 라이브러리는 컴파일이 된 코드여서 링크 과정에서 main파일에 라이브러리를 링크하여 exe파일을 생성한다. 우리가 자주 쓰는 <stdio.h>도 일종의 라이브러리이다.

서버, 클라이언트(coller, collee)

호출하는 함수를 클라이언트 coller라고 부르고, 호출 당하는 함수를 서버 coollee라고 부른다.

함수 호출 과정

  1. call (함수 호출)
  2. run (함수 코드 블럭 실행)
  3. return (실행 후 리턴 값이 있으면 값을 반환)

인수, 매개변수 (argument, parameter)

인수란 함수에 주는 데이터로 ,를 이용하여 다양한 갯수의 데이터를 줄 수 있다. 매개변수란 함수에서 인수로 받는 데이터를 담는 변수로

반환(return)

반환이란 호출한 함수에서 return 데이터를 실행하여 데이터가 호출한 함수에게로 오는 것이다.

#include <stdio.h>

int Add(int a, int b) {
	int sum = a + b;
	return sum;
}

int main() { // coller
	int a = 10;
	int b = 20;
	int r;

	r = Add(a, b); //collee

	printf("sum = %d\n", r);

	return 0;
}

함수 시그니쳐

함수는 head와 body로 나뉘는데 명령은 body에 쓰이고 head에는 이름, 반환 형식, 매개변수 리스트가 쓰이고 이걸 합쳐서 함수 시그니쳐라 한다. main함수보다 내가 만든 사용자 정의 함수가 밑에 있을 때에는 함수 시그니쳐를 맨 위에 적어서 함수가 있다는 것을 알린다.

#include <stdio.h>

void printEvenNumber(int start, int end, int isOdd);  // 선언

int main() {
	printEvenNumber(1, 10, 1);
	printEvenNumber(20, 30, 0);

	return 0;
}

void printEvenNumber(int start, int end, int isOdd) {
	for (int i = start; i <= end; i++) {
		int mod = i % 2;
		if (mod == isOdd) {
			printf("%d ", i);
		}
	}
	printf("\n");
}

포인터(reference)

포인터란 다른 변수의 주소를 참조하는 변수로 참조 변수 또는 포인터라고 한다.

⚠️ **GitHub.com Fallback** ⚠️