C语言学习-数组类型参数传递总结

本文通过两个示例详细解析了一维数组和字符串数组(二维数组)作为参数传递到函数中的过程,包括如何在函数内部修改数组元素,并观察这些改变是否影响原始数组。文章通过C语言代码展示了数组参数传递的机制,特别关注了值传递和引用传递的区别。
摘要由CSDN通过智能技术生成

1、一维数组传递(字符串传递一样类似)
(1)代码示例

#include<stdio.h>
int f(int p[10]);
int f1(int *p1);
int main(){
 int a[10]={1,2,3} ;
 printf("%d\n",a[5]);
 f(a);
 printf("%d,%d\n",a[0],a[1]);
 
 f1(a);
} 
int f(int p[10])
{
 int tmp;
 tmp=p[1];
    p[1]=p[0];
    p[0]=tmp;
}
int f1(int *p1)
{
 
}

(2)结果
在这里插入图片描述

2、字符串数组传递(二维整形数组传递也一样类似)
(1)代码示例

#include<stdio.h>
int f(int n,char p[10][10]);
int f1(int n,char **p);//这情况不对 
int main(){
 char a[10][10]={"123456"};
 printf("%s\n",a[0]);
 f(2,a);
 printf("%s\n",a[0]);
} 
int f(int n,char p[10][10])
{
 int tmp;
 tmp=p[0][1];
    p[0][1]=p[0][0];
    p[0][0]=tmp;
    
}

(2)结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值