산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C 사용자 정의 함수 마스터: 단계별 완벽 가이드

C 사용자 정의 함수 마스터

이 튜토리얼에서는 명확한 예제와 함께 C 프로그래밍에서 사용자 정의 함수를 생성, 프로토타입 선언, 사용하는 방법을 학습합니다.

함수란?

함수는 특정 작업을 수행하는 독립적인 코드 블록입니다. C에서는 직접 함수를 정의할 수 있는데, 이를 사용자 정의 함수라 부르며 프로그램 전반에서 재사용할 로직을 캡슐화합니다.

예제 시나리오

반지름과 선택한 색상에 따라 원을 생성하고 색칠해야 한다고 상상해 보세요. 두 사용자 정의 함수로 해결할 수 있습니다:


예제: 두 정수 더하기

아래는 사용자 정의 addNumbers() 함수로 두 정수를 더하는 간단한 프로그램입니다.

#include <stdio.h>
int addNumbers(int a, int b); // 함수 프로토타입
int main(void) {
    int n1, n2, sum;
    printf("두 숫자 입력: ");
    scanf("%d %d", &n1, &n2);
    sum = addNumbers(n1, n2); // 함수 호출
    printf("sum = %d\n", sum);
    return 0;
}
int addNumbers(int a, int b) // 함수 정의
{
    int result = a + b;
    return result; // 반환 문
}

함수 프로토타입

함수 프로토타입은 함수 이름, 반환 타입, 매개변수를 선언해 컴파일러에 함수 존재를 정의 전에 알립니다. 함수 본문은 포함하지 않습니다.

문법

returnType functionName(type1 argument1, type2 argument2, ...);

예제에서 int addNumbers(int a, int b);는 addNumbers가 int를 반환하고 두 int 매개변수를 받음을 컴파일러에 알립니다.

사용자 정의 함수가 main() 전에 정의되면 프로토타입은 선택 사항입니다.


함수 호출

필요한 인수와 함께 함수를 호출해 제어를 전달합니다.

문법

functionName(argument1, argument2, ...);

샘플 프로그램에서 addNumbers(n1, n2);가 n1과 n2 값을 함수에 전달합니다.


함수 정의

정의엔 함수가 호출될 때 실행될 실제 코드가 들어있습니다.

문법

returnType functionName(type1 argument1, type2 argument2, ...) {
    // 함수 본문
}

addNumbers 호출 시 컴파일러가 이 블록으로 점프해 덧셈 실행 후 결과 반환.


인수 전달

인수는 함수 호출 시 전달되는 실제 값입니다. 함수의 매개변수가 이 값들을 받습니다.

C 사용자 정의 함수 마스터: 단계별 완벽 가이드

인수 타입은 매개변수 타입과 일치해야 하며, 아니면 컴파일러가 오류를 냅니다. 예: n1이 char면 해당 매개변수 a도 char여야 합니다.

인수가 필요 없으면 인수 없이 함수 호출 가능.


반환 문

return 키워드는 함수를 종료하고 선택적으로 값을 호출자에게 돌려줍니다.

문법

return expression;

예제에서 return result;가 합을 main()로 돌려줘 sum에 저장.

C 사용자 정의 함수 마스터: 단계별 완벽 가이드

반환 타입이 함수의 선언된 반환 타입과 일치하는지 확인하세요.

인수 전달과 반환 값에 대한 더 깊은 통찰은 고급 C 함수 개념을 탐구하세요.

C 언어

  1. C 사용자 정의 함수 4가지 검증된 패턴
  2. C 언어에서 1차원 및 2차원 배열을 함수에 전달하는 방법 – 실전 가이드
  3. C 표준 라이브러리 함수 마스터하기: 실전 가이드
  4. 파이썬 람다 함수 마스터하기: 실용 예제 & 모범 사례
  5. Verilog 함수 마스터하기: 효율적인 RTL 설계를 위한 활용법
  6. C 함수 마스터: 선언, 정의, 호출, 인자 전달(값/참조), 재귀
  7. C 비트필드로 메모리 최적화: 플래그 압축과 하드웨어 매핑
  8. C 파일 입출력 완벽 가이드: 열기, 읽기, 쓰기, 위치 제어, 바이너리 처리
  9. C 언어 가변 인자 마스터하기: 실전 가이드
  10. MATLAB 함수 완전 정복: 정의, 워크스페이스, 입출력, 익명/중첩/비공개 함수