正在加载图片...
在C++中,常用一个关键字:new来为指针开辟一段新空间。比如 int* p= new int 现在,指针变量p存储着一个内存地址,该内存地址确实存在一一它是由new操作符申请 而得。可以这样认为,new是一位特权人物,不通过它,指针只能指向已有的“房间”:而使 用了它,则可以要求系统为指针“新开辟一片空地,然后建上新房间”。 有特权的人不仅仅是“new”,还有几个系统定义的函数,及 Windows提供的函数,都可以 实现“向系统要空间”的功能。我们将在后面专门的章节详细讲解。 19.5地址解析及其操作符* *在C,C++语言里除了起“乘号”的作用以外,前面我们还刚学了它可以在定义变量时,表 明某个变量是属于“指针类型”。现在,则要讲到它还能起“地址解析”的作用。 什么叫“地址解析”?假设有一int类型变量k ntk= 100 内存 内存地址 100 11000000 方框是变量k所占用的内存。100是该内存中存放的值。而11000000则是该内存的地址。 “地址解析”就是地址->值的解释过程。即:通过地址110000(到位于地址的变量 可见“地址解析(*)”和“取址(&)”正好是一对相反的操作在 C++中,常用一个关键字:new 来为指针开辟一段新空间。比如: int* p = new int; 现在,指针变量 p 存储着一个内存地址,该内存地址确实存在——它是由 new 操作符申请 而得。可以这样认为,new 是一位特权人物,不通过它,指针只能指向已有的“房间”;而使 用了它,则可以要求系统为指针“新开辟一片空地,然后建上新房间”。 有特权的人不仅仅是“new”,还有几个系统定义的函数,及 Windows 提供的函数,都可以 实现“向系统要空间”的功能。我们将在后面专门的 章节详细讲解。 19.5 地址解析 及其操作符 * * 在 C,C++语言里除了起“乘号”的作用以外,前面我们还刚学了它可以在定义变量时,表 明某个变量是属于“指针类型”。现在,则要讲到它还能起“地址解析”的作用。 什么叫“地址解析”?假设有一 int 类型变量 k: int k = 100; 内存 内存地址 100 11000000 方框是变量 k 所占用的内存。100 是该内存中存放的值。而 11000000 则是该内存的地址。 “地址解析”就是 地址->值 的解释过程。即:通过地址 11000000 得到位于地址的变量。 可见“地址解析(*)” 和 “取址(&)” 正好是一对相反的操作
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有