引用变量是C ++概念吗?它们是否可用于C?如果在C中可用,为什么我的代码会出现编译错误?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 10;
int b = 20;
int &c = a;
int &d = b;
return 0;
}
输出:
bash-3.2$ gcc test.c
test.c: In function `main':
test.c:12: error: parse error before '&' token
为什么?
答案 0 :(得分:11)
C没有引用作为类型。 '&amp;'在C中仅用于获取变量的地址。它不能以您尝试在C中使用它的方式使用。
答案 1 :(得分:6)
答案 2 :(得分:6)
你不能用它来声明变量:
int &c = a;
运营商&amp;用于获取变量的内存地址。所以,你可以写一下例如:
int a = 10;
int *c;
c = &a;
答案 3 :(得分:4)
通过引用传递在C中不可用,而是使用简单的指针。
答案 4 :(得分:2)
引用仅是C ++概念。在C中,您只能使用指针。
答案 5 :(得分:2)
已经过了一段时间,但看起来你正试图将c的地址分配给a的值。
更正:a的值为c的地址。 (感谢Chinmay Kanchi指出这一点。)
答案 6 :(得分:1)
不,引用只是C ++。