努力学习只是 发表于 2017-7-10 21:45:29

一个小问题,求解答。

本帖最后由 努力学习只是 于 2017-7-10 22:53 编辑

   struct student *p3;

   p3=(struct student *)malloc(len);

   scanf("%d%f",&p3->num,&p3->scroe);

   p3前面为什么还要加“ &”这个符号,p3不就是地址吗?

ba21 发表于 2017-7-10 22:09:05

本帖最后由 ba21 于 2017-7-10 22:31 编辑

在这段代码里 p3 是指p3指针里面存放的地址; &p3 这样才是p3所在的地址。
还有一点就是字符串(字符数组)才享有不用&。因为他本身就是一个地址

努力学习只是 发表于 2017-7-10 22:29:26

ba21 发表于 2017-7-10 22:09
在这段代码里 p3 是指p3指针里面存放的地址; &p3 这样才是p3所在的地址。

谢谢了 想起来了p3是指针变量,并不是地址 所以要加取地址符

小甲鱼 发表于 2017-7-10 22:31:16

如果是这样:

scanf("%d%f",&(p3->num),&(p3->scroe));
会不会比较好理解?{:10_279:}

努力学习只是 发表于 2017-7-10 22:40:06

小甲鱼 发表于 2017-7-10 22:31
如果是这样:




对耶 这样确实跟懂了
页: [1]
查看完整版本: 一个小问题,求解答。