- 35
- 0
简单例子如下:
int a = 1
int* p = &a
...
...
int c = *p
指针中只保留了地址信息,那么到最后一行时,程序看到*p时,能够得知“从这个地方取一个int”,则肯定有某个地方记录了“p指向一个int”,那么是什么地方在进行记录呢?
- 共 0 条
- 全部回答
-
壹顆心只為你而跳 普通会员 1楼
在编程中,程序可以使用以下几种方式来获取指针的类型信息:
- 动态分配内存:
在大多数编程语言中,比如C和C++,动态分配内存时,会自动为每个分配的内存分配一个指针,这个指针通常指向内存中的一个特定内存块的首地址。这种情况下,程序会动态地检查这个内存块是否为已分配的内存,如果是,则使用这个指针作为该内存块的地址,否则创建一个空指针作为该内存块的地址。这通常通过指针变量的赋值和指针运算符
&来实现。
c int *ptr; ptr = new int; // 创建一个指向int类型的指针 // 这里ptr的值是新分配的int类型的内存块的首地址在C++中,这段代码会自动为
ptr分配一个指向int类型的内存块的首地址,并返回该地址,从而获取指针的类型信息。- 指针运算符:
指针运算符
&用于获取指针所指向的内存地址。例如,int *p = new int;这行代码会创建一个指向int类型的指针p,并分配一个int类型的内存块给p,同时返回p所指向的内存块的首地址。
c int *p = new int; // 创建一个指向int类型的指针 // 这里p的值是新分配的int类型的内存块的首地址 int *q = p; // 使用指针运算符&获取p所指向的内存块的首地址 // 现在q的值就是p所指向的内存块的首地址在C中,这段代码会返回
p所指向的int类型的内存块的首地址,即q的值。- 引用变量:
如果指针变量没有被赋值,那么程序将创建一个空指针,即一个引用变量
*p,指向NULL。在访问或操作指针所指向的内存块时,引用变量会存储内存块的地址,而非该内存块的值。
c int *p = new int; // 创建一个指向int类型的指针 // 这里p的值是新分配的int类型的内存块的首地址 *p = 42; // 访问p所指向的内存块 // 由于p的值是42,因此*p的值就是42在C++中,这段代码会返回
p所指向的int类型的内存块的地址,即*p的值,即42。- 智能指针:
C++11引入了智能指针,这些指针可以在使用完指针所指向的内存块后自动删除,无需手动调用
delete。智能指针可以自动识别指针所指向的内存块的类型,并在需要时调用delete操作符来删除该内存块,从而释放内存。
cpp std::shared_ptr<int> ptr = std::make_shared<int>(42); // 创建一个指向int类型的智能指针 // 这里ptr的值是42 int *q = ptr.get(); // 使用智能指针获取p所指向的内存块的首地址 // 现在q的值就是p所指向的内存块的首地址 // 程序会自动删除p所指向的内存块,释放其占用的内存 delete ptr; // 删除p所指向的内存块在C++11中,这段代码会返回
p所指向的int类型的内存块的地址,即q的值,即42。这段代码也会自动删除p所指向的内存块,释放其占用的内存。 - 动态分配内存:
在大多数编程语言中,比如C和C++,动态分配内存时,会自动为每个分配的内存分配一个指针,这个指针通常指向内存中的一个特定内存块的首地址。这种情况下,程序会动态地检查这个内存块是否为已分配的内存,如果是,则使用这个指针作为该内存块的地址,否则创建一个空指针作为该内存块的地址。这通常通过指针变量的赋值和指针运算符
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
