1. 헤더파일
: 기존 헤더파일은 <>로 추가하고
사용자가 만든 헤더파일은 ""로 추가한다.
페이지 상단(헤드)에 포함시키기 때문에 헤더파일로 명명하고
여러 함수들을 정의해놓은 후 다른 파일에 포함시켜 사용한다.
2. 헤더파일 생성(헤더파일 우클릭 > 추가 > 새항목, Ctrl + Shift + A)
3. 함수를 사용하는 이유
1) 반복되는 기능(작업)을 쉽게 관리하기 위해서, 재사용의 목적
리턴값이 있고 특정성을 부여해서는 안된다.
2) 소스코드 간결화
대부분 리턴값이 없다.
4. 리턴을 사용해야 할 때
: 함수 내에서 모든 작업이 완료되지 못할 때
사용하는 부분에 작업의 결과를 알려야 할 때
5. 리턴을 사용하지 않을 때
: 함수 내에서 모든 작업이 완료될 때
사용하는 부분에 작업의 결과를 알릴 필요가 없을 때
6. 오늘 실습코드
1) 헤더파일 예제
** headerTest.c **
#include<stdio.h>
#include"calc.h"
void main() {
printf("덧셈 : %d\n", add(3, 4));
printf("뺄셈 : %d\n", sub(3, 4));
printf("곱셈 : %d\n", mul(3, 4));
div(3, 0); //리턴타입이 없기 때문에 값으로 보면 안된다
}
** calc.h **
int add(int num1, int num2){
int result = num1 + num2;
return result;
}
int sub(int num1, int num2) {
int result = num1 - num2;
return result;
}
int mul(int num1, int num2) {
int result = num1 * num2;
return result;
}
//두 정수의 나눗셈 : 몫(/)과 나머지(%) 각각 printf로 출력해주는 함수
void div(int num1, int num2) {
if (num2 != 0) {
printf("몫\t: %d\n", num1 / num2);
printf("나머지\t: %d\n", num1 % num2);
}
else {
printf("0으로 나눌 수 없습니다.\n");
}
}
2) functionTask.c
** 아직 완성된 코드가 아님, 다음 시간에 완성시킬 예정 **
#include<stdio.h>
#include<string.h>
/*
[초급]
1~10까지 printf()로 출력하는 함수
1~10까지의 합을 구해주는 함수
1~n까지의 합을 구해주는 함수
[중급]
홀수를 짝수로 짝수를 홀수로 바꿔주는 함수
소문자를 대문자로 바꾸고 printf()로 출력하는 함수
5개의 정수를 입력받고 최소값과 최대값을 구해주는 함수
[고급]
정수를 한글로 바꿔주는 함수
5개의 정수를 오름차순으로 정렬하는 함수
*/
void printFrom1To10() {
for (int i = 0; i < 10; i++) {
printf("%d ", i + 1);
}
printf("\n");
}
int sumFrom1To10() {
int total = 0;
for (int i = 0; i < 10; i++) {
total += i + 1;
}
return total;
}
int sumFrom1(int end) {
int result = 0;
if (end > 1) {
for (int i = 0; i < end; i++) {
result += i + 1;
}
}
return result;
}
int change(int num) {
return ++num;
}
void changeToUpper(char str[] ) {
char result[100] = "";
/*int length = strlen(str);*/
for (int i = 0; i < strlen(str); i++) {
if (str[i] >= 97 && str[i] <= 122) {
//97 - x = 65
result[i] = (char)(str[i] - 32);
}
else {
result[i] = str[i];
}
}
result[strlen(str)] = '\0';
printf("%s\n", result);
}
int* getMaxAndMin(int arData[]) {
//0 : 최대값, 1 : 최소값
int result[2] = {arData[0], arData[0]};
int length = sizeof(arData) / sizeof(int);
for (int i = 1; i < length; i++) {
if (result[0] < arData[i]) {
result[0] = arData[i];
}
if (result[1] > arData[i]) {
result[1] = arData[i];
}
}
return result;
}
void main() {
//소문자를 대문자로 바꾸고 printf()로 출력하는 함수
//changeToUpper("aBCd1234");
//홀수를 짝수로 짝수를 홀수로 바꿔주는 함수
//int result = change(99);
//if (result < 1) {
// printf("0 또는 자연수만 입력 가능합니다.\n");
//}
//else if (result % 2 == 0) {
// printf("짝수로 바뀌었습니다.\n");
//}
//else {
// printf("홀수로 바뀌었습니다.\n");
//}
//1~10까지 printf()로 출력하는 함수
//printFrom1To10();
//1~10까지의 합을 구해주는 함수
//printf("%d\n", sumFrom1To10());
//1~n까지의 합을 구해주는 함수
//int num = 0;
//int result = 0;
//printf("1~n까지의 합\nn : ");
//scanf_s("%d", &num);
//result = sumFrom1(num);
//if (result != 0) {
// printf("%d\n", result);
//}
//else {
// printf("1보다 큰 수를 입력하세요\n");
//}
}
'웹_프론트_백엔드 > 단과' 카테고리의 다른 글
[단과_C] 2020.03.17 (0) | 2020.03.18 |
---|---|
[단과_C] 2020.03.16 (0) | 2020.03.17 |
[단과_C] 2020.03.12 (0) | 2020.03.13 |
[단과_C] 2020.02.27 (0) | 2020.02.27 |
[단과_C] 2020.02.26 (0) | 2020.02.27 |