为了账号安全,请及时绑定邮箱和手机立即绑定

指针的使用?

指针的使用?

C
逝锋 2016-08-13 19:06:45
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地址中的值。也就是房间中的内容。

查看完整回答
2 反对 回复 2016-08-14
?
慕粉3203730

TA贡献7条经验 获得超12个赞

这就涉及到解引用的问题了。

C 代表指针变量,直接使用相当于进行地址操作,无法进行你所需的运算

*C代表指针指向的变量,使用它意味着对所指向的变量进行操作(赋值、运算等等)

故,使用C而不使用*C 就相当于你找错人了 而并未对变量本身进行任何操作


希望能够帮到你,还请采纳!


查看完整回答
反对 回复 2016-08-14
?
快乐的时光

TA贡献79条经验 获得超48个赞

c是一个变量,叫做指针变量,是一个盒子,里面装着要指向变量的地址。*c表示要指向的变量。

查看完整回答
反对 回复 2016-08-14
?
乱舞的旋律

TA贡献105条经验 获得超38个赞

声明变量的时候 *表示这个变量是一个指针

进行运算的时候 *是解引用符,表示访问该地址的内容

查看完整回答
反对 回复 2016-08-14
?
Berserker_

TA贡献1条经验 获得超0个赞

不知题主用过C#没有,这里的用法就类似于C#里头的"out"关键字

查看完整回答
反对 回复 2016-08-14
?
噼喱啪啦

TA贡献392条经验 获得超170个赞

c表示地址,*c表示地址上面的内容,一般是具体的数值

查看完整回答
反对 回复 2016-08-13
?
霏梧

TA贡献65条经验 获得超23个赞

c 是指针, *c = 10,  就是给 long 指针c 所指向的地址 上赋值 10
这样就可以返回结果

查看完整回答
反对 回复 2016-08-13
  • 7 回答
  • 0 关注
  • 1703 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信