请选择 进入手机版 | 继续访问电脑版

[C 语言] C语言函数传递数组和传递地址的区别你知道吗

[复制链接]
查看53 | 回复4 | 2021-9-12 13:28:07 | 显示全部楼层 |阅读模式
目次

传递数值

code:

  1. #include <stdio.h>
  2. void deliveryData(int data)
  3. {
  4. data = data + 100;
  5. printf("deliveryData:data=%d\n", data);
  6. }
  7. int main(void)
  8. {
  9. int data=10;
  10. deliveryData(data);
  11. printf("main:data=%d\n", data);
  12. return 0;
  13. }
复制代码

运行效果 :

  1. C:\Users\Administrator\Desktop\C_Study\新版本c语言\程序\unit5_function>a.exe
  2. deliveryData:data=110
  3. main:data=10
复制代码

传递地址

code:

  1. #include <stdio.h>
  2. void deliveryData(int data[])//这里int data[]是地址(相当于指针)
  3. {
  4. data[0] = data[0] + 100;
  5. printf("deliveryData:data=%d\n", data[0]);
  6. }
  7. int main(void)
  8. {
  9. int data[2]={1, 2};
  10. deliveryData(data);//这里传递的是地址
  11. printf("main:data=%d\n", data[0]);
  12. return 0;
  13. }
复制代码

运行效果 :

  1. C:\Users\Administrator\Desktop\C_Study\新版本c语言\程序\unit5_function>a.exe
  2. deliveryData:data=101
  3. main:data=101
复制代码

注:

传递数值,操作的是不同的内存空间传递地址,操作的是同个内存空间

总结

本篇文章就到这里了,渴望 可以或许 给你带来帮助也渴望 您可以或许 多多关注脚本之家的更多内容!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

avatar 囝囝刚 | 2021-9-20 01:26:47 | 显示全部楼层
太高深了,理解力不够用了!
回复

使用道具 举报

avatar 二狗子2017 | 2021-9-22 04:23:45 | 显示全部楼层
看在admin楼主的面子上,认真回帖!
回复

使用道具 举报

avatar 二级传播盅 | 2021-9-22 11:28:46 | 显示全部楼层
哥回复的不是帖子,是寂寞!
回复

使用道具 举报

avatar 123457757 | 2021-9-27 21:59:37 | 显示全部楼层
顶顶更健康!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则