`
3895177
  • 浏览: 22637 次
社区版块
存档分类
最新评论

指针1

    博客分类:
  • c++
 
阅读更多
#include <iostream>
using namespace std;

void change(int x,int *pm)
{
	x = 10;
	*pm = 10;
}

void swap(int* p1,int* p2)
{
	//p1和p2都是形参,函数结束完了就没有了
	int* temp;
	temp = p1;
	p1= p2;
	p2 = temp;
}


 void main()
{
	//指针的基本运算符
	//取地址符&
	int m = 5;
	int* p =  &m;
	//取得内容运算符*
	cout<<"取得内容运算符*:"<<*p<<endl;
	*p = 6;
	cout<<"取得内容运算符*:"<<*p<<endl;

	//指针的算术运算
	int a[10]={0,1,2,3,4,5,6,7,8,9},x,y,*p1;
	p1 = a;
	cout<<"*p1="<<*p1<<" *(p1+2)="<<*(p1+2)<<" *(p1+5)="<<*(p1+5)<<endl;
	x = *p1++;
	p1 =a;
	y = *++p1;
	cout<<"x="<<x<<" y="<<y<<endl;

	//指针和函数参数
	//指针的函数参数
	int n = 200,*p2;
	m = 200;
	p2 = &m;
	change(n,p2);
	//结果m改变了,n没改变
	cout<<"n="<<n<<" m="<<m<<endl;

	p1 = NULL;
	p2 = NULL;
	m = 10;
	p1 = &m;
	n = 100;
	p2 = &n;
	swap(p1,p2);
	//结果:没正确得进行替换
	cout<<"m="<<m<<" n="<<n<<endl;


	//指针的指针
	int i = 10;
	int* p = &i;
	cout<<"*p = "<<*p<<endl;
	int** pp = &p;
	cout<<"pp="<<pp<<" *pp="<<*pp<<" **pp="<<**pp<<endl;
	//结果
	//*p = 10
	//pp=0031F844 *pp=0031F850 **pp=10

}


 

 

  • 大小: 31.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics