c++指针【C++】

文档目录:

指针的基本介绍

指针的基本用法

指针的基本实例

空指针

void指针

指针小结

引用

指针和引用

指针和数组

 

 

 

指针的基本介绍:

指针到底是什么?指针其实就是一个变量,但是与其他的变量不同,它保存的是其他变量的地址,而不是数值。

 

就好像我们的身份证号码就是一个指针,而我们的名字是一个变量名,国家在寻找我们的时候,不是去查询我们的名字,而是查询我们的身份证号,然后访问我们身份证号里面的信息。

 

当代码 int year时 系统分配出一块名字为year的内存空间,他的地址是0028FF44,当代码year=15;时系统将15存入地址为0028FF44的内存空间中。

当代码 int*ptr_year时,   系统同样为ptr_year分配一个内存空间,但是这个空间是用来存储地址的。当代码ptr_year=&year时,系统把year的地址存储到指针ptr_year的内存空间中。

 

指针的基本用法:

取地址符号:&

简介运算符:*

指针的基本实例:

double num =1024.5;

       double* ptr_num=#//声明一个指针,指向num变量。

       cout<<"num的地址是:"<<&num<<endl;  

       cout<<"ptr_num的值:"<<ptr_num<<endl;

       cout<<"ptr_num指向空间的值:"<<*ptr_num<<endl;

 

 

 

空指针(null pointer

Void* 类型指针:

doublenum=3014;

    double *ptr_num=&num;

    void *ptr_num1=&num;

    cout<<boolalpha;

    cout<<(ptr_num==ptr_num1)<<endl;

指针小结:

引用:

 

 

指针和引用:

指针和数组:

1.指针操作数组快于下标操作数组

2.数组的空间分配.int a[10];——会在空间分配出40个相邻的内存单元来(10*4)

3.指针操作数组

int*pa;

pa = &a[0];//把a【0】的地址给pa

 

 

 4.指针移动

int*pa;
int a[10];
pa = &a[0];

(

int a[10];

int *pa=&a0】;

)

pa+1将指向下一个元素a[1]:

 >> 内存中的变化:"指针加1"会根据指针指定的类型int移动4个内存单元,其实本身并没有移动,只是pa+1等于第5个内存单元地址——“指针加1”中的1的大小是取决于pa的类型int的,指针类型决定指针跨内存单元的步长。

 

>> pa+1 等于是指向第5个内存单元——a[1]的第一个内存单元。





*以上信息是我本人今天学习的总结,来自不同的老师和前辈。感谢他们的无私。

发布了36 篇原创文章 · 获赞 17 · 访问量 6274

猜你喜欢

转载自blog.csdn.net/qq_39248307/article/details/78039456