C++指针

什么是指针?C++变量保存在内存中,就有一个内存地址,指针就是用来保存变量内存地址的。看下边的例子:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    //声明变量
    int i=1982;
    string str="abc";

    //创建指针
    int *p1=&i;
    string *p2;
    p2=&str;

    //输出
    cout<<"指针p1保存的内存地址:"<<p1<<endl;
    cout<<"指针p1地址中存储的值:"<<*p1<<endl;
    cout<<"指针p2保存的内存地址:"<<p2<<endl;
    cout<<"指针p2地址中存储的值:"<<*p2<<endl;

    return 0;
}

执行结果:

引用内容 引用内容
指针p1保存的内存地址:0012FF38
指针p1地址中存储的值:1982
指针p2保存的内存地址:0012FF28
指针p2地址中存储的值:abc
Press any key to continue

说明

·在变量名称前加&,就可获取到它的内存地址,如&i,&str;
·声明指针和声明变量类似,只是指针名称前多了一个星号(*);
·指针的类型要和变量类型一致,如int *p1,string *p2;
·访问指针名称将读取内存地址,访问星号+指针名称将读取地址中存储的值;
·可用const关键字声明常量指针,如int * const p1=&i;;

注意

int *p1=&i;

不等于:
int *p1;
*p1=&i;

而是等价于:
int *p1;
p1=&i;


评论: 0 | 引用: 0 | 查看次数: 3840
发表评论
登录后再发表评论!