关于指针的9个必须弄懂的问题

2085 人浏览 | 时间: 2015-06-23 12:11:15 | 作者: codexia
1.常量指针和指针常量的区别以及用法 

    常量指针:本质是一个指针。常量指针就是指向常量的指针。而“指向”就是所谓的地址,因为地址才能表现指向这一概念。这表明,该指针的值存储的是一个地址,而这个地址就是被指向的常量的地址。因为是常量,所以它的值是不可修改的,因此用*号对指针不能进行赋值操作。当然,这个指针是变量,还可以指向其他的常量,但是这个指针只能指向常量,即存储的值只能是常量的地址而不能是变量的地址。
    指针常量:本质是一个指针。指针常量就是说指针本身就是一个常量,正如整型常量一样。那么作为常量,那么这个指针的值是无法改变的,就相当于一个整型常量一样,一旦初始化后就不可以改变。所以指针常量声明时必须初始化。初始化后这个指针就一直指向这个变量,可以通过*改变被指向变量的值。

2.指针和地址的区别 

    本质:地址是系统的用户地址空间的虚拟内存地址编号,并不是实际的内存地址编号。地址就是一个编号而已,就像门牌号,学号。这没有所谓的存储空间的说法,就是名字。而我们编程使用的地址是虚拟内存地址,就是我们常说的内存地址。而指针,是一个变量,使用变量时需要系统分配一个内存才能使用。而指针是存储内存地址的一种变量,使用指针就像使用内存地址一样。而对指针的赋值只是改变指针变量存储的值,只是更新了一下变量中存储的值而已。
    区别:指针是一个存储地址的变量,占用内存空间,地址只是一串数字,不占内存空间。
    联系:地址是放在指针变量中的。好比 int  a=3;中,a(类似于指针)和3(类似于地址)的关系。

3.变量和地址的联系

变量占内存空间,地址只是一串数字;每一个变量都有地址,可以通过 &变量名  取得变量的地址,就像每一个人都有一个住址一样的。

4.指向指针的指针和指向常量的指针

指向指针的指针:本质是一个指针,只是这个指针指向的变量是一个指针类型的;
也叫二级指针。定义:int **p1;
指向常量的指针:本质是一个指针,该指针只能指向常量,定义 in
请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读