返回类型

函数的返回类型建立该函数返回的值的大小和类型并对应于下面的语法的类型说明符:

语法

  • 功能定义:
    声明说明符opt属性顺序opt声明列表的说明opt复合语句

    属性序列 的/* 是特定于 Microsoft 的 *

  • 声明说明符:
    存储类说明符声明说明符 opt

    类型说明符声明说明符 opt

    类型限定符声明说明符 opt

  • 类型说明符:
    void

    char

    short

    int

    long

    float

    double

    签名

    unsigned

    结构或联合说明符

    枚举说明符

    typedef 名称

这种 类型说明符 可以指定任何具备、结构或联合类型。 如果不包含 类型说明符,返回类型 int 假定。

在函数定义中给定的返回类型必须与返回在其他地方输入函数的声明程序。 ,即包含表达式的 return 语句时,函数返回值。 该表达式进行计算,如果需要,会转换为返回值类型,并返回到该函数调用的点。 如果声明的函数返回类型 void,包含表达式的返回语句生成警告,并且该表达式不会计算。

下面的示例演示函数返回值。

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 );
}

此示例定义了 typedef 声明的 STUDENT 类型并定义功能 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函数定义