반환 형식

함수에 의해 반환 되는 값의 종류와 크기를 설정 하 고 아래 구문에 형식 지정 자가 해당 함수의 반환 형식:

구문

  • 함수 정의:
    선언 지정자 선택특성 seq 수신 동의선언 자 선언 목록 수신 동의복합 문

    / * 특성이 seq Microsoft 관련 된 * /

  • 선언 지정자:
    저장소 클래스 지정자 선언 지정자 선택

    형식 지정 자가 선언 지정자 선택

    형식 한정자 선언 지정자 선택

  • 형식 지정 자가:
    void

    char

    short

    int

    long

    float

    double

    서명

    서명 되지 않은

    구조체 또는 공용 구조체 지정자

    enum 지정자

    형식 정의 이름

형식 지정자 모든 기본 작업을 지정할 수 있습니다 구조체 또는 공용 구조체 형식입니다.오지 않는 경우 형식 지정자, 반환 형식이 int 간주 됩니다.

함수 정의에 지정 된 반환 형식이 프로그램의 다른 부분에서 함수 선언에서 반환 형식을 일치 해야 합니다.함수 값을 반환 하는 경우는 return 식을 포함 하는 문이 실행 됩니다.필요 하 고 반환 되는 함수가 호출 될 시점에 반환 값 형식에 변환 식이 계산 됩니다.함수의 반환 형식으로 선언 된 경우 void, return 문이 포함 된 식에 경고가 발생 합니다 및 해당 식은 평가 되지 않습니다.

다음 예제 함수 반환 값을 설명 합니다.

typedef struct  
{
    char name[20];
    int id;
    long class;
} STUDENT;

/* Return type is STUDENT: */

STUDENT sortstu( STUDENT a, STUDENT b )
{
    return ( (a.id < b.id) ? a : b );
}

정의 하는이 예제는 STUDENT 입력 한 typedef 선언 함수를 정의 하 고 sortstu 를 STUDENT 반환 형식.함수 선택 하 고 두 구조체 인수 중 하나를 반환 합니다.후속 호출에서는 함수에 컴파일러가 검사 인수 형식이 있는지 확인 합니다 STUDENT.

[!참고]

전체 구조가 아닌 구조를 포인터를 전달 하 여 효율성을 향상 시킬 수 있습니다.

char *smallstr( char s1[], char s2[] )
{
    int i;

    i = 0;
    while ( s1[i] != '\0' && s2[i] != '\0' )
        i++;
    if ( s1[i] == '\0' )
        return ( s1 );
    else
        return ( s2 );
}

이 예제에서는 문자 배열을 가리키는 포인터를 반환 하는 함수를 정의 합니다.함수 인수와 두 문자 배열 (문자열)를 사용 하 고 짧은에 포인터를 반환 합니다. 두 문자열입니다.배열에 대 한 포인터를 가리키는 합니다 첫 번째 배열 요소 및 해당 형식이 있습니다. 즉, 함수의 반환 형식을 입력에 대 한 포인터는 char.

함수를 선언할 필요가 없습니다 int 반환 형식, 호출 하기 전에 프로토타입을 올바른 형식 인수 및 반환 값에 대 한 검사를 사용할 수 있도록 권장 되지 않지만.

참고 항목

참조

C 함수 정의