C语言基础教程(五)函数(4)

  •   2009-07-10/10:20
  •   2.2 函数参数传递

    一、调用函数向被调用函数以形式参数传递
    用户编写的函数一般在对其说明和定义时就规定了形式参数类型,因此调用这些函数时参量必须与子函数中形式参数的数据类型、顺序和数量完全相同,否则在调用中将会出错,得到意想不到的结果。
    注意:
    当数组作为形式参数向被调用函数传递时,只传递数组的地址,而不是将整个数组元素都复制到函数中去,即用数组名作为实参调用子函数,调用时指向该数组第一个元素的指针就被传递给子函数。因为在Turbo C2.0中,没有下标的数组名就是一个指向该数组第一个元素的指针。当然数组变量的类型在两个函数中必须相同。
    用下述方法传递数组形参。
    例2:
    #include<stdio.h>
    void disp(int *n);
    int main()
    {
    int m[10], i;
    for(i=0; i<10; i++)
    m[i]=i;
    disp(m); /*按指针方式传递数组*/
    getch();
    return 0;
    }
    void disp(int *n)
    {
    int j;
    for(j=0; j<10; j++)
    printf("%3d", *(n++));
    printf("\n");
    }
    另外,当传递数组的某个元素时,数组元素作为实参,此时按使用其它简单变量的方法使用数组元素。例2按传递数组元素的方法传递时变为:
    #include<stdio.h>
    void disp(int n);
    int main()
    {
    int m[10], i;
    for(i=0; i<10; i++){
    m[i]=i;
    disp(m[i]); /*逐个传递数组元素*/
    }
    getch();
    return 0;
    }
    void disp(int n)
    {
    printf("%3d\t");
    }
    这时一次只传递了数组的一个元素。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多