UXO Studio
  • C 기초 07 : 사용자정의 함수
    2024년 09월 25일 11시 26분 58초에 업로드 된 글입니다.
    작성자: UXO Studio

     

     

     

    01 함수의 이해 : 수학에서의 함수, 구조화, 형식

    02 사용자정의 함수 기본 구조 세 가지

     

     

     

     

    01 함수의 이해 : 수학에서의 함수, 구조화, 형식

     

    수학에서의 함수

    f(x) = 2 x + 2

    f(x) = 2 * 2 + 2

    g(x) = 2 f(x) + 2

    g(2) = 2 (2 * 2+ 2) + 2

    => x, 2 : 매개 변수

    => f(x), (2 * 2 + 2) : 반환값, 리턴

     

    프로그래밍 구조화

    특정 함수를 잘 만들어 놓으면 언제든 재사용 가능

     

    사용자정의 함수 형식

    번환값 함수명 (매개변수1, 매개변수2, ... , 매개변수n){
    함수의 기능 구현
    return 반환값
    }
     

     

     

    02 사용자정의 함수 기본 구조 세 가지

     

    1) 단순한 문장 출력 구조

    void 함수명_문장(void) {
    	/*반복문장 코딩*/
    }
    
    main() {
    	함수명_문장();
    }
     
    #include <stdio.h>
    
    // 함수 원형
    void hi(void);
    
    // 함수 구현
    void hi(void) {
    	printf("안녕하세요. 감사합니다.\n");
    }
    
    // main 함수
    int main() {
    	int a;
    	hi();
    	printf("숫자를 입력하시오.\n");
    	scanf("%d", &a);
    	printf("입력한 숫자는 %d입니다.\n", a);
    	hi();
    	return 0;
     }
     
    ------------------------
    안녕하세요. 감사합니다.
    숫자를 입력하시오.
    2
    입력한 숫자는 2입니다.
    안녕하세요. 감사합니다.
    
    ------------------------
     

    함수 원형 : 함수원형을 미리 선언해 두면 main() 함수 위, 아래 어디에도 해당 함수를 코딩하여 불러올 수 있음.

    함수 원형 생략 : main() 함수 위에 사용자정의 함수를 코딩해야만 불러올 수 있음.

     

     

    2) 매개변수를 통한 단순 연산&출력

    void 함수명_매개(int n) {
    	printf("%d\n".n);
    }
    
    main() {
    	함수명_매개(x);
    }
     
    #include <stdio.h>
    
    // 함수 선언
    void hi(void);
    void num(int n);
    
    // 함수 구현
    void num(int n) {
    	printf("입력된 숫자는 %d입니다.\n", n);
    	printf("입력된 숫자를 두 번 합하면 %d입니다.\n", n + n);
    }
    void hi(void) {
    	printf("안녕하세요. 감사합니다.\n");
    }
    
    // main 함수
    int main() {
    	int a;
    	hi();
    	printf("숫자를 입력하시오.\n");
    	scanf("%d", &a);
    	num(a);
    	hi();
    	return 0;
    }
     
    ------------------------
    안녕하세요. 감사합니다.
    숫자를 입력하시오.
    2
    입력된 숫자는 2입니다.
    입력된 숫자를 두 번 합하면 4입니다.
    안녕하세요. 감사합니다.
    
    ------------------------
     

     

    3) 매개변수 + 반환값

    int 함수명_반환(int n) {
    	printf("%d\n", n);
    	return p;
    }
    main() {
    	함수명_반환(x);
    	변수(q)=p
    }
     

    리턴값이 있으니 void가 아니라 int. 리턴값은 새로운 변수 q로.

    #include <stdio.h>
    
    // 함수 선언
    int num(int n);
    
    // 함수 구현
    int num(int n) {
    	int sum;
    	printf("입력된 숫자는 %d입니다.\n", n);
    	sum = n + n;
    	return sum;
    }
    
    // main 함수
    int main(void) {
    	int a, b;
    	printf("숫자를 입력하시오.\n");
    	scanf("%d", &a);
    	b = num(a);
    	printf("입력된 숫자를 두 번 더하면 %d입니다.", b);
    	return 0;
     }
     
    ------------------------
    숫자를 입력하시오.
    2
    입력된 숫자는 2입니다.
    입력된 숫자를 두 번 더하면 4입니다.
    ------------------------
     

     

     

    #함수 #C언어 #프로그래밍 #코딩기초 #프로그래밍공부 #코딩연습 #프로그래밍언어 #초보프로그래머 #C언어기초 #사용자정의함수 #함수구조 #함수형식 #매개변수 #반환값 #함수사용법 #프로그래밍함수 #코딩함수 #코딩예제 #프로그래밍기초 #함수원형 #매개변수함수 #리턴값함수

     

    'C C++ > C 기초' 카테고리의 다른 글

    C 기초 08 : 잡다한 것들 가지고 놀기  (0) 2024.09.25
    C 기초 06 : for 함수, 라이브러리 함수  (0) 2024.09.25
    C 기초 05 : switch case 함수  (0) 2024.09.25
    C 기초 04 : while 함수  (0) 2024.09.25
    C 기초 03 : if함수  (0) 2024.09.25
    댓글