指针变量

来源:互联网 发布:vb label背景透明 编辑:程序博客网 时间:2024/06/06 13:03

指针变量:

  就是存放地址的变量。地址(指针)也是数据,可以保存在一个变量中。保存地址(指针)数据的专用变量称为指针变量。

 指针变量p中的值是一个地址值,可以说指针变量p指向这个地址。如果这个地址是一个变量i的地址,则称指针变量p指向变量i。指针变量p指向的地址也可能仅仅是一个内存地址。


一、定义指针

类型说明符 *变量名

*:表示这是一个指针变量

变量名:定义的指针变量名

类型说明符:表示该指针变量所指向的变量的数据类型

二、普通变量的定义

int  a=3;//定义了变量a,是int型的,值为3

内存中有一块空间是存放a的值,对a的存取操作就是直接到这个内存空间存取。

内存空间的位置叫地址,存放3的地址可以用存取地址操作符“&”对a进行运算得到:&a

三、指针变量的定义

int *p=NULL;

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

四、给指针变量p赋值

p=&a;//把a变量的内存空间地址给了p

1. 指针变量初始化的方法:

int a;

int *p=&a;

2. 赋值语句的方法:

int a;

int *p;

p=&a;


五、指针的几个相关操作说明表


指针变量同普通变量一样,使用之前需要定义说明,还有赋予具体的值。

未经赋值的指针不能使用。

例如:

int a;int *p=&a;//*p表示p指向的整型变量
p中存放的是变量a占用单元的起始地址,所以*p实际上访问了变量a,也就是说*p与a等价。 


输入两个不同的数,通过指针对两个数进行相加和相乘,并输出。

#include<iostream>using namespace std;int main(){int a,b,s,t,*pa,*pb;pa=&a;pb=&b;a=10;b=20;s=*pa + *pb;t=*pa * *pb;printf("a=%d,b=%d\n",*pa,*pb);printf("s=%d,t=%d\n",s,t);return 0;}  




原创粉丝点击