void fun(int a,int b,long *c){*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}中为什么要用*c而不是c
7 回答
已采纳
凌小天3635910
TA贡献17条经验 获得超13个赞
fun函数接受3个变量进入。a和b是两个整形变量,*c是一个指针变量。也就是说在这里向fun传递数据应该是按顺序传递:一个整形值,一个整形值,一个指针值。
接下来说函数体。
函数完成的功能是将两个整形的值,通过一组计算,保存到c这个指针,所指向的内存空间中;
c本身代表的是一个地址。相当于一个房间号。而用来保存东西的是这个房间本身。所以需要通过*号运算符来实现。
*c表示c地址中的值。也就是房间中的内容。
慕粉3203730
TA贡献7条经验 获得超12个赞
这就涉及到解引用的问题了。
C 代表指针变量,直接使用相当于进行地址操作,无法进行你所需的运算
*C代表指针指向的变量,使用它意味着对所指向的变量进行操作(赋值、运算等等)
故,使用C而不使用*C 就相当于你找错人了 而并未对变量本身进行任何操作
希望能够帮到你,还请采纳!
- 7 回答
- 0 关注
- 1703 浏览
添加回答
举报
0/150
提交
取消