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

#pragma mark 二维数组和函数

###pragma mark 概念

###pragma mark 代码

#include <stdio.h>
void change(int nums[]);
void change2(int values[2][3]);
void change3(char vlaues[]);
void change4(char value);
int main()
{
#warning 一维数组和函数
    /*
    // 一维数组和函数
    int nums[2] = {1,2};
    // 数组的名称就是数组的地址
    // & nums == nums == &nums[0]
    change(nums);
    printf("nums[0] = %i\n",nums[0]);
     */
#warning 二维数组和函数
    char names[2][3] =
    {
        {'l','y','h'},
        {'h','t','h'},
    };
    printf("&names = %p\n",&names);
    printf("names = %p\n",names);
    printf("names[0] = %p\n",names[0]);
    
    // 二维数组名称作为函数参数传递, 是传递的地址
//    change2(names);
    // names[0] == 一维数字
//    change3(names[0]);
    
    // names[0][0] == 一维数组的一个元素 == 值
    change4(names[0][0]);
    printf("names[0][0] = %c\n",names[0][0]);
    return 0;
}

// 基本数据类型
void change4(char value)
{
    value = 'E';
    printf("我执行了");
}

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

// 数组作为函数的参数传递,修改形参的值会影响实参
void change(int nums[])
{
    nums[0] = 998;
    printf("我执行了\n");
}


转载于:https://my.oschina.net/u/3561184/blog/1154099

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值