社区
C#
帖子详情
如何将一个指针转换为一个数组?不能存在内存复制
maling
2008-01-14 04:34:20
把一个数组转换为指针很容易做到,那么有如何将一个指针转换为一个数组?不能存在内存复制,会损失性能。
...全文
347
11
打赏
收藏
如何将一个指针转换为一个数组?不能存在内存复制
把一个数组转换为指针很容易做到,那么有如何将一个指针转换为一个数组?不能存在内存复制,会损失性能。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Q_282898034
2008-01-15
打赏
举报
回复
把一个数组转换为指针很容易做到
真的吗?
数组是在托管堆上的,且随着垃圾回收不断变换地址,指针指堆栈可以称得上容易,指托管堆就谈不上容易了,因为要加 fixed() 固定数组,使用指针的代码也要考虑 fixed() 的作用域。我认为是很糟糕很无谓的转换。
反过来转换就更糟糕了,我认为楼主如果知道堆栈和托管堆是怎么一回事,就不会问这个问题了。只有一种情况,楼主期望的才有可能实现,那就是把数组固定,转成指针,这种指针可以再转回数组,没有内存复制。
haiwangstar
2008-01-14
打赏
举报
回复
嗯。我认为要实现这个肯定要复制,因为这个要从非托管内存到托管内存。Array肯定要在托管内存中。
chuxue1342
2008-01-14
打赏
举报
回复
MARK!
vrhero
2008-01-14
打赏
举报
回复
楼上...内存复制已被禁止...明显是砸场子的...
真相重于对错
2008-01-14
打赏
举报
回复
如果是int[] ,float[] , double[] ,等应该容易得到
Marshal.Copy
yilanwuyu123
2008-01-14
打赏
举报
回复
……
ld_thinking
2008-01-14
打赏
举报
回复
mark
haiwangstar
2008-01-14
打赏
举报
回复
数组转换到指针是可以。反向好像真的不大可能。
haiwangstar
2008-01-14
打赏
举报
回复
恐怕不大可能。
vrhero
2008-01-14
打赏
举报
回复
C#本来就没有指针...还不允许内存复制...搞笑的?
sjm2003
2008-01-14
打赏
举报
回复
shengao
指针
数组
,
数组
指针
,函数
指针
,函数
指针
数组
,指向函数
指针
数组
的
指针
指针
就是
指针
,在32位平台下,永远占4个字节,其值为某
一个
内存
的地址。
数组
就是
数组
,其大小与元素的类型和个数有关。定义
数组
时必须指定其元素的类型和个数。 1.
指针
数组
指针
数组
:首先它是
一个
数组
,
数组
...
数组
到底在什么时候会
转换
为
指针
数据集合包含了多份数据,直接使用
一个
集合没有明确的含义,将
数组
名
转换
为指向
数组
的
指针
后,可以很容易地访问其中的任何一份数据,使用时的语义更加明确。 C语言标准规定,当
数组
名作为
数组
定义的标识符(也就是...
c语言
数组
转
指针
,(转)c语言
指针
数组
我们也可以让
指针
指向一维、二维
数组
或字符
数组
,来替代这些
数组
在程序中使用,给我们在编程时带来许多方便。下面我们定义一种特殊的
数组
,这类
数组
存放的全部是
指针
,分别用于指向某类的变量,以替代这些变量在程序...
指针
篇之五
指针
与
数组
剪不断理还乱
数组
名不是
指针
,也不
存在
什么常量
指针
!
数组
名代表
一个
地址,它可以作为右值赋给
指针
变量。至于
指针
与地址的关系,在第一篇最后已有说明。忘记了?回去看。 存放
数组
的区域是一块
内存
,
数组
数组
名和
指针
的区别
指针
和
数组
名的共同特点是都是用来指代
一个
地址的。不同的是:1、
指针
是需要占用
内存
空间来存储地址的;
数组
名则更像是
一个
立即数或者常数。...3、如果用extern声明
一个
外部变量,
指针
和
数组
不能
混用。比如在文件1.
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章