十天学会C语言

第08天C语言(03):二维数组和函数

2017-07-10  本文已影响21人  liyuhong
一、概念
二、代码

#include <stdio.h>
void change(int nums[]);
void change2(char values[2][3]);
void change3(char values[]);
void change4(char values);
int main()
{
    /*
    int nums[2] = {1,2};
    // 数组的名称 就是 数组的地址
    change(nums);
    printf("nums[0] = %i\n",nums[0]);
     */
    
    char names[2][3] =
    {
        {'l','y','h'},
        {'l','y','s'}
    };
//  &names == names = &names[0] names就是数组的地址
    printf("&name = %p\n",&names);
    printf("name = %p\n",names);
    printf("name[0] = %p\n",names[0]);

    //  二维数组名称 作为函数参数传递, 就是传递的地址
//    change2(names);
    // name[0] == 一维数组
//    change3(names[0][0]);
    
    change4(names[0][0]);

    printf("names[0][1] = %c\n",names[0][0]);
    
    return 0;
}

// 基本数据类型
void change4(char values)
{
    values = 'F';
    printf("我执行了\n");
}


// 以后 只要看到函数的参数 是一个数组,那么就是地址传递
// 在函数中修改形参的值 会影响实参
void change3(char values[])
{
    values[0] = 'q';
    printf("我执行了\n");
}

void change2(char values[2][3])
{
    values[0][1] = 'z';
    printf("我执行了\n");
}
// 数组 作为函数的参数传递,修改形参的值会影响到实参
void change(int nums[])
{
    nums[0] = 998;
    printf("我执行了\n");
}
上一篇下一篇

猜你喜欢

热点阅读