为什么此参考无效/无效?

时间:2018-12-27 11:00:49

标签: c reference

我正在学习C语言中的引用,这是我的代码:

#include <stdio.h>

int main(void)
{
    int x = 5;

    int &ref = x;

    printf("%d\n", x);
    printf("%p\n", &x);     
    printf("%p\n", &ref);

    return 0;
}

我编译时显示以下错误:

  

reference.c:7:6:错误:预期的标识符或'('

     

int&ref = x;

     

reference.c:11:18:错误:使用未声明的标识符'ref'

     

printf(“%p \ n”,&ref);

     

产生2个错误。

该如何解决此问题,并先谢谢您。

2 个答案:

答案 0 :(得分:4)

c没有引用类型,您只能使用point而不是ref。

#include <stdio.h>

int main(void) {
    int x = 5;

    int *ref = &x;

    printf("%d\n", x);
    printf("%p\n", &x);
    printf("%p\n", &ref);

    return 0;
}

答案 1 :(得分:2)

C语言中的“引用”称为指针。通过指针,您可以引用某些内容。在您的代码中,您需要编写:

#include <stdio.h>

int main(void)
{
    int x = 5;

    int *ref = &x;           // now ref points to x

    printf("%d\n", x);       // print the value of x
    printf("%p\n", &x);      // print the address of x
    printf("%p\n", &ref);    // print the address of the pointer variable
    printf("%d\n", *ref);    // print the value of the int that ref is pointing to
    return 0;
}