[C 언어] 함수

    함수 모듈화

    1. call by name

    2. call by value

    3. call by address

    // 4. call by reference (C++ 넘어가면서 refernce 개념이 생겼기 때문에 c언어에서는 사용 할 수 없다.)

     

     

    함수 사용하기

    #include<stdio.h>
    #include<string.h>
    // 1. 선처리부에 함수 정의 선언
    void output();
    void output2(int a);
    int output22(int a);
    
    int main()
    {
    	int a = 10;
    
    	output();   // 3. 함수 호출
    	output2(a);
    	a = output22(a);
    	printf("a = %d\n", a);
    
    	return 0;   // 0 : 문제 없음.   -1 : 문제 있음.
    }
    
    // 2. 함수 정의
    void output() // call by name
    {
    	printf("hello..\n");
    }
    
    void output2(int a) // call by value
    {
    	printf("a = %d\n", a);
    }
    
    int output22(int a) // call by value
    {
    	a = 5;
    	return a;
    }

     

     

     

    함수를 이용해서 계산기 만들기

    #include<stdio.h>
    #include<string.h>
    
    int plus(int a, int b);
    int minus(int a, int b);
    int multi(int a, int b);
    int division(int a, int b);
    
    int main()
    {
    	int a, b;
    	char or ;
    
    	do {
    
    		printf("첫 번째 수를 입력해주세요.\n");
    		scanf("%d", &a);
    		printf("두 번째 수를 입력해주세요.\n");
    		scanf("%d", &b);
    		rewind(stdin);
    		printf("기호를 입력해주세요.\n");
    		scanf("%c", &or );
    
    		switch (or )
    		{
    		case '+':
    			printf("결과 값 : %d \n", plus(a, b));
    			break;
    		case '-':
    			printf("결과 값 : %d \n", minus(a, b));
    			break;
    		case '*':
    			printf("결과 값 : %d \n", multi(a, b));
    			break;
    		case '/':
    			printf("결과 값 : %d \n", division(a, b));
    			break;
    		}
    
    	} while(1);
    	return 0;
    }
    
    //함수
    int plus(int a, int b)
    {
    	return a + b;
    }
    int minus(int a, int b)
    {
    	return a - b;
    }
    int multi(int a, int b)
    {
    	return a * b;
    }
    int division(int a, int b)
    {
    	return a / b;
    }

    반응형

    댓글

    Designed by JB FACTORY