본문 바로가기
언어/C

[C언어] 사용자 정의 함수

by 새벽물망초 2022. 7. 11.

1. 함수 사용하기

  • 함수 정의 방법
#include <stdio.h>

/* 함수 정의하는 방법
반환값자료형 함수명() {
	코드;
} */

/* 먼저 사용할 hello 함수를 선언함
c언어는 위에서 아래로 소스코드를 해석하기 때문에 함수선언 우선해야 함
함수 선언만 하고 정의는 main함수 아래에 해도 상관없음 */

void hello() { // 1. 반환값이 없으면 자료형 void, hello 함수를 정의함
	printf("hi"); // 2. hello 함수 실행 시 hi 출력되는 코드 작성
    }
    
int main() { // 3. 반환값이 int임을 명시, c언어는 무조건 main함수부터 시작함
	hello(); // 4. 앞서 정의한 hello 함수 실행
    
    return 0;
}

 

실행결과

hi

 

https://dojang.io/mod/page/view.php?id=521 

 

C 언어 코딩 도장: 60.1 Hello, world! 출력 함수 만들기

60 함수 사용하기 C 언어로 프로그래밍을 하다 보면 들어가는 값만 바뀔 뿐 같은 코드가 계속 반복되는 경우가 많습니다. 특히 같은 코드를 반복해서 작성하면 코드도 길어지고 중간에 실수할 가

dojang.io

 

 

2. 매개변수

  • 매개변수의 정의

매개변수(parameter) : 함수를 정의할 때 사용되는 변수

 

cf) 인수(argument) :  함수가 호출될 때 매개변수에 실제로 담기는 값

 

https://bskyvision.com/795

 

헷갈리는 코딩용어, 매개변수(parameter)와 인수(argument)

코딩을 하다보면 어떤 프로그래밍 언어든 관계없이 매개변수(parameter)와 인수(argument)라는 말을 접하게 됩니다. 그런데 문제는 저도 그렇고 많은 사람들이 정확한 개념을 모른채 혼용해서 사용한

bskyvision.com

 

  • 매개변수 사용방법
#include <stdio.h>

/*
반환값자료형 함수명(자료형 매개변수) {
	코드;
}
*/

// helloNum함수 생성 및 정의
void helloNum(int num1){ // 1. void이므로 반환값 없음, 자료형이 int이고 매개변수가 num1 
			// 1-1. 매개변수를 지정하면 함수 호출 시 넣은 값이 매개변수에 저장됨
	printf("hi, %d\n", num1); // 2. <hi, 매개변수> 출력하는 코드 작성
}

int main() {
	helloNum(10); // 3. 매개변수에 10 입력됨
    	helloNum(20); // 매개변수에 20 입력됨
    
    return 0;
}

 

실행결과

hi, 10
hi, 20

 

https://dojang.io/mod/page/view.php?id=542 

 

C 언어 코딩 도장: 62.1 매개변수 사용하기

매개변수를 사용하려면 함수를 정의할 때 ( ) (괄호) 안에 자료형과 변수 이름을 지정해주면 됩니다. 반환값자료형 함수이름(자료형 매개변수) { } 다음 내용을 소스 코드 편집 창에 입력한 뒤 실

dojang.io

 

 

3. 포인터 매개변수

  • 매개변수를 포인터로 사용하는 방법
#include <stdio.h>

/*
반환값자료형 함수이름(자료형 *매개변수1, 자료형 *매개변수2) {
	코드;
}
*/

// swapNumber 함수 생성하고 정의
void swapNumber (int *first, int *second) { // 1. 자료형이 int인 포인터 매개변수 2개 지정
	int temp; // 2. 변수를 임시 보관할 변수 temp 선언
    
    // 3. temp에 first 저장하면 first는 빔, (값이 비어있는)first에 second저장하고 second에 (temp에 있던)first저장
    // 4. 따라서 first와 second의 값이 swaping됨
    temp = *first;
    *first = *second;
    *second = *temp;
}

int main() {
	int num1 = 10;
    int num2 = 20;
    
    // 5. swapNumber함수 실행, num1과 num2에 메모리주소 넣음, num1과 num2의 주소가 서로바뀜
    swapNumber (&num1, &num2);
    printf("%d %d\n", num1, num2); // num1과 num2의 주소가 바꼈으므로 출력되는 %d 또한 바뀐값으로 나옴
    
    return 0;
}

 

실행결과

20 10

 

https://dojang.io/mod/page/view.php?id=550 

 

C 언어 코딩 도장: 63.1 포인터 매개변수 사용하기

먼저 매개변수에서 일반적인 변수를 사용하면 변수의 내용이 어떻게 되는지 알아보겠습니다. 다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요. parameter.c #include void swapNumber(int first, int

dojang.io

 

 

 

'언어 > C' 카테고리의 다른 글

[c언어] 배열과 포인터  (0) 2022.10.13
[C언어] 비트연산자  (0) 2022.07.21
[C언어] 포인터  (0) 2022.04.16
[C언어] 정보처리기사 프로그래밍 문제 풀이  (0) 2022.02.10
1주 ~ 7주 정리  (0) 2021.04.23

댓글