鱼C论坛

 找回密码
 立即注册
查看: 2100|回复: 4

[已解决]初学指针,请大佬解答

[复制链接]
发表于 2018-1-26 21:04:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

请问在对外部函数内的参数的值进行改变的时候,在主函数的给他的实参的变量却没有改变;
但相同的道理为什么不能用在数组上,我改变了外部函数的数组内一个元素的值但是主函数内的那个数组的元素值也发生了?
最佳答案
2018-1-29 17:46:08
数组做参数不是你那样写的把
数组名是数组第一个成员的地址
int a[]
  *a=a[0]    *(a+sizeof(int))=a[1]   *(a+sizeof(int)*2)=a[2]这样懂了把

小甲鱼的这个视频是不是有误

小甲鱼的这个视频是不是有误

这边我在外部函数改变了n,内部的b却没改变,然而我在外部改变了x【0】,但是内部的a【0】也发生了改变?

这边我在外部函数改变了n,内部的b却没改变,然而我在外部改变了x【0】,但是内部的a【0】也发生了改变?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-26 21:09:32 | 显示全部楼层
数组传的是地址。n 传的是值      n在主函数和在exchange内是两个不同的变量,只是同名而已。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-26 21:15:08 | 显示全部楼层
看来这个指针一样啊,直接改变地址所在的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-26 21:49:41 | 显示全部楼层
呃,数组名是地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-29 17:46:08 | 显示全部楼层    本楼为最佳答案   
数组做参数不是你那样写的把
数组名是数组第一个成员的地址
int a[]
  *a=a[0]    *(a+sizeof(int))=a[1]   *(a+sizeof(int)*2)=a[2]这样懂了把
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-1 09:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表