C语言中的指针详解

作者: ysq 分类: 计算机基础 发布时间: 2016-05-27 02:10 ė671 views 6没有评论

1.指针就是内存地址

2.在内存中,不同数据类型的数据,分别存放在不同区域

3.两种开辟地址的方法

 

至于这个“*”符号,可以这么理解:需要用到指针指向的内容时,加上“*”,此时它等同于一个变量;只是需要指针的地址时,不需要加“*”,此时它代表内存的地址。

地址中放地址(二重指针)

 

野指针:

所有的指针必须指向内存中确定的地址,如果一个指针没有给他确定的值,那么他可能指向内存中的任何地址(如系统进程),如果此时对指针就行操作,就会发生不可控的结果,这就是野指针。

如何避免野指针:

指针不用时,指向NULL 即空指针

三种不同的使用方法:

 

三种方法在内存中的调用图:

其中方法1最安全,因为拷贝的只有数值

方法2比方法1快,因为在*a和*b中存的是地址,地址访问比方法1的拷贝数据要快

方法3最省空间,但最不安全,因为直接对地址操作

在java的内部实现中,常用的数据类型操作,都使用方法1,

而其他类型,使用方法3

本文出自 杨书清的博客,转载时请注明出处及相应链接。

本文永久链接: http://blog.yangshuqing.com/code/basic/416.html

发表评论

Ɣ回顶部