关于指针的内容

    在C/C++中,特别要注意初始化,比如指针。

    通常在定义指针变量时,系统会默认初始化为NULL。

    在之前的一些学习中一直存在这么一个疑惑——指针已经初始化了,那么它的地址也就是固定的了(系统分配好了的),因此对于在程序中对于指针所指向内容进行操作改变指针是没什么问题,但改变指针指向地址具体是怎么一回事就不是很明了(以前只知道是通过改变指针所存储的地址来实现)。但潜意识还是认为程序对指针进行操作时进行运算的指针数值应该是地址值才对,怎么会是存储在那个地址中的数据。

    看过汇编才真正晓得,那是因为寄存器寻址的关系。如果指针里存的是普通数据则属于立即数寻址,操作数值就是数据值。如果是地址——寄存器值,那么就属于寄存器寻址,相对应的有一系列计算操作数值的公式。

    希望对大家有所帮助。

 
阅读更多
文章标签: 存储 汇编 null
个人分类: C/C++
上一篇关于动态链表和数组的效率
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭