问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言中指针作函数的参数是怎么回事???有点不懂!!!

发布网友 发布时间:2022-04-23 17:51

我来回答

3个回答

热心网友 时间:2023-07-21 18:04

如果使用指针作为参数就是地址传递,否则只是值传递。你可以看下下面的这个函数:
void modify(int a)
{
a++;
}

void main()
{
int a=5;
modify(a);
printf("%d",a);
}
这个程序的答案还是5。为什么?
因为当调用modify(a)时,在执行modify函数时,是另外开辟了一个内存空间,将main中a的值复制过来,modify函数中所有的操作都是相对于这个新开辟的内存空间而言的,对原来的a没有任何改变。

现在就来说说指针,如果用指针传参的话那就完全不一样了,指针(pointer),说白了即是指向变量内存地址。同样上面的例子:
void modify(int * a)
{
(*a)++;
}

void main()
{
int a=5;
modify(&a);
printf("%d",a);
}
这个答案当然是6
因为你传进去的是a的地址,所以在modify函数中的操作都是对a地址上的内容进行操作,即是操作a所以modify函数不用返回这个数,main中a的值也会改变。因为大家都是操作同一个内存空间,而上面不用指针,modify操作的是另一个新开辟的内存空间,只是这个内存空间初始值和a一样。

你在子函数中要对你的主调用函数中变量进行操作时也可以用指针做参数,这样子函数就可以不用return 如果不是用指针的话,就要再子函数的未尾加上一条return x;把这个数返回当返回值。

参考资料:http://zhidao.baidu.com/question/127519540.html

热心网友 时间:2023-07-21 18:04

指针就是 内存地址+存储格式
用指针做参数就是把内存地址传了进去。

热心网友 时间:2023-07-21 18:05

void (*)();
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
mrna转录试剂盒 windows7应用程序损坏或丢失怎么办? 联想windows7怎么恢复不小心删除的应用 Win7电脑图标不见了如何恢复解决Win7电脑图标丢失问题的有效方法_百 ... 美女主播软件有哪些 什么软件看美女直播? 什么视频直播软件可以免费看女神直播? 钣金工业设计 钣金灰本段用途 关于刮胡子的相关问题 C语言指针作函数参数时的返回问题 指针作函数参数 c语言指针作形参如何才能影响主函数? 汇编语言中指针的作用 C语言中指针的作用是什么? 什么是指针? 指针的作用老鸟来 如何申请工商局商标注册 指针的作用 工商注册、商标注册和标志(图形logo)注册的具体区别在哪? 可以不通过中介,自己去工商局注册商标吗? 去工商局注册商标需要什么 请问注册一个logo的话,自己去工商办理,要多少钱! 个体工商户能注册自己的LOGO吗 在工商局注册一个商标需要哪些详细步骤? 申请的浦发银行信用卡怎么查询办理进度 大热天付费排队真遭罪,成都有哪些免费的景点? PDF转为WORD后,文字中出现多余横线,无法选择、编辑,应怎样删除? 四川周边的免费景点有哪些? Word转换成PDF后,参考文献上出了一条横线,在Word的文献里已经去掉了的,PDF里如何不显示这条线? 求帮忙 关于C语言指针作参数的问题。 C语言指针作函数参数中数据的双向传递是什么意思? 剪头发前有必要先洗头吗? ★C语言 指针作函数参数 去发廊剪发,为什么都要先洗头,不洗会怎样?会剪的不好? C语言的指针作函数参数 剪头发前一定要知道的事,别问你什么都不知道 为什么在剪发店剪发前要洗两次头? c语言 请问指针变量可以作实参吗 剪头发前要洗头吗? 洗了头要吹到完全干再去剪头发吗? 为什么剪头发前一定要洗头发 男生剪发型前如何留头发 去理发前是不是要洗头? 剪头发一定要洗头吗 为什么剪头发前要洗头 剪头发前抹的东西 剪头发前要洗头吗,很贵啊 干头发在剪之前为什么要喷湿? 梦见自己和好多人在八窑,好大火,有人从那边掉下去了没摔伤? 大家去理发前会在家洗头吗 自己剪头发前面怎么剪男