青少年编程知识记录 codecoming

指针(一):基础用法

1.定义

什么是指针,简单来说:“指针就是地址”。



2.指针变量的定义

指针变量定义形式:  类型说明符  *变量名

其中,*号表示指针变量。变量名即为定义的指针变量名,类型说明符表示该指针变量所指向的变量的数据类型。

普通变量:int a=5;

解释:定义了变量a,是int型的,值为5。内存中有一块内存空间是放a的值。对a的存取操作就是直接到这个内存空间存取。内存空间的位置叫地址,存放5的地址可以用取地址操作。用“&”符号运算得到。即&a;

指针变量:int *p=NULL;

解释:定义了一个指针变量p,p指向一个内存空间,里面存放的是一个内存地址。现在赋值为null(其实就是0,表示特殊的空地址)

比较通俗一点的解释,对于普通变量来说,a是一个int型变量,a的值的5。p是一个int *型变量,p的值是null。

3.指针变量的赋值与操作



#include<iostream>  #include<cstdio>  using namespace std;  int main(){  	int a=3;  	int *p=NULL;  	cout<<"a的值"<<a<<endl;  //3  	cout<<"p的值"<<p<<endl;  //0  	cout<<"*p的值"<<*p<<endl; //程序报错   	return 0;  }



将指针变量指向一个地址后:

#include<iostream>  #include<cstdio>  using namespace std;  int main(){  	int a=3;  	int *p=NULL;  	p=&a;  	cout<<"a的值"<<a<<endl;  //3  	cout<<"p的值"<<p<<endl;  //0x22fe34   	cout<<"*p的值"<<*p<<endl; //3  	return 0;  }

可以看到p这个变量(int *类型)存储的是地址变量,不是普通的数值变量,所以p本身也是一个变量只不过存储的是地址而已。

将指针变量赋值后:

#include<iostream>  #include<cstdio>  using namespace std;  int main(){  	int a=3;  	int *p=&a;  	cout<<"a的值"<<a<<endl;  //3  	cout<<"p的值"<<p<<endl;  //0x22fe34   	cout<<"*p的值"<<*p<<endl; //3  	*p=6;  	cout<<"a的值"<<a<<endl;  //6  	cout<<"p的值"<<p<<endl;  //0x22fe34   	cout<<"*p的值"<<*p<<endl; //6  	return 0;  }

将指针变量指向一个新地址后:

#include<iostream>  #include<cstdio>  using namespace std;  int main(){  	int a=3;  	int *p=NULL;  	p=&a;  	cout<<"a的值"<<a<<endl;  //3  	cout<<"p的值"<<p<<endl;  //0x22fe34   	cout<<"*p的值"<<*p<<endl; //3  	int b=10;     	p=&b;  	cout<<"a的值"<<a<<endl;  //3  	cout<<"b的值"<<b<<endl; //10   	cout<<"p的值"<<p<<endl;  //0x22fe00  	cout<<"*p的值"<<*p<<endl; //10  	return 0;  }





(adsbygoogle = window.adsbygoogle || []).push({});

作者:亿万年的星光 分类:C++知识 浏览: