美文网首页十天学会C语言程序员
C语言day07-05函数和数组2

C语言day07-05函数和数组2

作者: liyuhong165 | 来源:发表于2016-05-01 00:22 被阅读44次

    pragma mark 函数和数组2

    pragma mark 概念

    // 数组作为形参自动转换为指针

    pragma mark 代码

    #pragma 数组
    #include <stdio.h>
    void printArray (int values[],int length);
    int main()
    {
        // 要求定义一个函数,实现遍历数组,(只要别人传递数组和函数,就要求输出数组中所有元素的值)
        int num[4] = {1,3,5,7};
        printf("size = %i\n",sizeof(num));
        int length = sizeof(num)/sizeof(num[0]);
        
        printArray(num,length);    // 数组名称就是数组的地址
        return 0;
    }
    
    // 如果是传递的是数组的名称,其实传递的是地址
    // 如果传递的是地址,其实传递的是指针
    // 指针在64位编译环境占8个字节
    
    // 注意: 如果数组作为形参,那么在函数中就不能通过数组的名称计算出数组元素的个数
    // 因为系统会自动将数组形参转换为指针,指针占用8个字节
    void printArray (int values[],int length)
    {
        printf("size = %i\n",sizeof(values));
        
        // 1.动态数组的元素个数
    //    int length = sizeof(values) / sizeof(values[0]);
        // 2.遍历数组
        for (int i = 0; i < length; i++)
        {
            printf("value[%i], = %i\n",i,values[i]);
        }
        
    }
    
    

    相关文章

      网友评论

        本文标题:C语言day07-05函数和数组2

        本文链接:https://www.haomeiwen.com/subject/ctikrttx.html