魔轩 发表于 2021-3-17 19:24:27

简单的指针问题

#include <stdio.h>
void GetTwoInts( int *a ,int *b )
{
        scanf("%d%d",a,b);
}
int main()
{
        int a,b;
        int *ap=&a , *bp=&b;
        GetTwoInts(ap,bp);
        printf("%d",*ap+*bp);
        return 0;
}
问下这里为啥函数里面输入的时候不需要带上&,就是这样
scanf("%d%d",a,b);
这个问题挺简单的,但是咱不是太清楚。

jackz007 发表于 2021-3-17 19:28:31

      因为只有 a、b 是 int 的时候,才需要在 a、b 的前面加 &,现在 a、b 的类型是 int *,已经是地址了,所以,就不再需要在前面添加 & 了。

魔轩 发表于 2021-3-17 22:05:26

jackz007 发表于 2021-3-17 19:28
因为只有 a、b 是 int 的时候,才需要在 a、b 的前面加 &,现在 a、b 的类型是 int *,已经是地址 ...

哦哦,指针这个就是地址吧

jackz007 发表于 2021-3-17 22:24:40

魔轩 发表于 2021-3-17 22:05
哦哦,指针这个就是地址吧

      没错。

魔轩 发表于 2021-3-17 22:25:57

jackz007 发表于 2021-3-17 22:24
没错。

谢谢
页: [1]
查看完整版本: 简单的指针问题