#include
using namespace std;
int main() {
int a = 10;
//定义一个指针
int * p;//专门记录int类型数据的地址
p = &a;//取地址
cout << p << endl;
cout << *p << endl;
//很好理解p储存的是地址,*p就是通过地址找到其所对应的值(变量)
//* 代表解引用
system("pause");
}
代码:
#include
using namespace std;
int main() {
int a = 10;
//定义一个指针
int * p;//专门记录int类型数据的地址
p = &a;//取地址
cout << p << endl;
cout << *p << endl;
int* t;
t = p;
//等效于 int *t = p;//p存于t而非*t
cout << *t << endl;
//很好理解p储存的是地址,*p就是通过地址找到其所对应的值(变量)
//* 代表解引用
system("pause");
}
c++种每个变量对唯一对应一个地址这个关系不能被改变,但变量和地址对应的值可以被改变
&a = &b 不合法
指针和数组
代码:
#include
using namespace std;
int main() {
int a[] = {10, 110};
int* p = a;
p++;
cout << *p << endl;
system("pause");
return 0;
}
指针和函数
#include
using namespace std;
void swap(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
int main(){
int a = 10;
int b = 20;
swap(&a, &b);
cout << a <<" " << b <<endl;
system("pause");
return 0;
}