【问题标题】:Having difficulty understanding func(&_) in c难以理解 c 中的 func(&_)
【发布时间】:2014-07-12 09:05:40
【问题描述】:

有人可以解释一下func(&_)void 的用途吗?我不确定整个程序是如何工作的。

    void func(int *xp);

    int
    main(void)
    {
        int x, y;

        x = 5; 
        func(&x);
        y = x-3;
        func(&y);
        printf("%4d%4d\n", x, y);
        return(0);
    }

    void
    func(int *xp)
    {
        int y;

        y = *xp * 2;
        *xp = y - 3;
    }

【问题讨论】:

  • 读一本书,一个教程,一些东西...
  • 阅读函数和指针
  • 查看引用 &(没有双关语)解引用运算符。 func 接受一个指向 int 的指针,&x 导致赋值 int* xp = &x,因此 xp 是指向 x 的指针。
  • 这是一个特别人为的例子,它展示了使用指针的a方式,但没有解释指针要解决什么问题。
  • 感谢 HennyH。这更有意义,只是想通了。非常感谢

标签: c call func


【解决方案1】:

你的函数需要一个指针参数。如果要将非指针变量传递给该函数调用,则必须使用 & 表示法提供它的地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多