C语言中的指针变量用法(一)

本文详细解析了在C/C++编程中,如何使用指针变量与数组名作为函数参数的不同方式,包括指针作为形参和实参的情况,以及数组名作为形参时的内存共享机制。

用指针变量代替数组名作为函数的参数时,一般有以下两种情况:
(1)指针变量可以作为函数的形参
(2)指针变量可以作为函数的实参

其中,实参与形参使用的对应关系有如下。
(1)形参和实参都可以作为数组名。例如:

void f(int x[], int n)
{...}
void main()
{
int a[10];
...
f(a,10);
...
}

其中a和x是数组,传递的是a数组的首地址,即把实参数组的首地址传递给形参数组首地址。a和x数组共用一段内存单元,即在调用期间,a和x指的是同一个数组。
(2)实参用数组名,形参用指针变量,例如:

void f(int * p,int n)
{..}
coid main()
{
int a[10];
...
f(a,10);
...
}

其中实参a为数组名,形参p为指向整型变量的指针变量,即把实参数组首地址传递给形参(指针变量),函数中用指针访问实参数组。函数开始执行时,p指向a[0】,即p = &a[0]。通过p的值改变,可以指向a数组中的任一个元素。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值