变量引用

时间:2012-03-25 20:46:47

标签: c++ pointers

我正在学习引用和指针,本教程中的内容并没有为我编译(我正在使用GCC)。

好的,这是代码:

#include <iostream>

using namespace std;

int main()
{
int ted = 5;
int andy = 6;

ted = &andy;

cout << "ted: " << ted << endl;
cout << "andy: " << andy << endl;
}

编译器输出显示“错误:从'int *'到'int'的无效转换” 我也试了一个string = v; v =&amp; andy;但那也不起作用。

如何将内存地址分配给变量?

2 个答案:

答案 0 :(得分:5)

指针保存内存地址。在这种情况下,您需要使用指向int的指针:int*

例如:

int* ptr_to_int;

ptr_to_int = &andy;

std::cout << ptr_to_int  << "\n"; // Prints the address of 'andy'
std::cout << *ptr_to_int << "\n"; // Prints the value of 'andy'

答案 1 :(得分:0)

int指针与int的类型不同。没有一些讨厌的技巧,你不能指定整数指针。我会给你一些你可能想要做的例子。

指针示例:

#include <iostream>

using namespace std;

int main()
{
int ted = 5;
int andy = 6;

int * ptr = &andy;

cout << "ted: " << ted << endl;
cout << "andy: " << andy << endl;
cout << "ptr: " << *ptr << endl;
}

参考示例:

#include <iostream>

using namespace std;

int main()
{
int ted = 5;
int andy = 6;

int & ref = andy;

cout << "ted: " << ted << endl;
cout << "andy: " << andy << endl;
cout << "ref: " << ref << endl;
}