指针变量能只能作为函数的形参不可以作函数的实参对还是错

指针变量能只能作为函数的形参不可以作函数的实参对还是错... 指针变量能只能作为函数的形参不可以作函数的实参对还是错 展开
 我来答
111111前的
高粉答主

2020-06-17 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:173
采纳率:100%
帮助的人:6.1万
展开全部

错,指针变量既可以作为函数的形参,也可以作函数的实参。

当数组名作函数的参数时,传递到是数组的起始地址,形参是用来接受从实参传递过来的实参数组的地址的。因此,形参应该是一个地址变量(只有指针才能存放地址)。

数组名就是数组的首地址,实参向形参传递数组名实际上就是传送数组的地址,形参得到该地址后也指向同一数组。这就好像同一件物品有两个彼此不同的名称一样。同样,指针变量的值也是地址,数组指针变量的值即为数组的首地址,当然也可以作为函数的参数使用。

指针作为实参,指针作为形参:

扩展资料:

c语言中实参和形参之间的数据传输是单向的“值传递”方式,也就是实参可以影响形参,而形参不能影响实参。指针变量作为参数也不例外,但是可以改变实参指针变量所指向的变量的值。

指针实质是一个内存地址,这个内存地址就是指针的指向地址,这个地址及其以后的地址中的内容就是我们说的指针指向的内容。函数在传递参数时传递的一定是形参。

参考资料来源:百度百科-指针变量

帐号已注销
2020-06-09 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:166万
展开全部

错。

只是要不然只有形参而没有实参的话,函数传参数没有用。但一般函数要用指针时会用引用的。

#include <stdio.h>

int add(int x[])//这里的数组即变成指针了

{

return x[0]+x[1];

}

int main()

{

int i[]={1,2};

printf("%d\n",add(i));

return 0;

}

扩展资料:

存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。

举例:int a = 68 ,系统为变量a分配的首地址为0X065FDF4H,声明空指针long *p = NULL,p=&a是存放变量a地址的指针变量,即p=&a中存放的值为0x065FDF4H(a的值为68,&a的值为0x065FDF4H)。

对变量a的访问有两种方式:一是直接按地址0x065FDF4H找到a的存储单元,从而对变量a进行访问;二是按系统为p=&a分配的地址先找到p=&a,然后根据p,&a的值(即变量a地址0x065FDF4H)找到变量a在内存中的存储单元,从而对变量a进行访问。对于前一种访问方式称为直接访问方式,后一种访问方式称为间接访问方式。

参考资料来源:百度百科-指针变量

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式