社区
C#
帖子详情
请问C#怎么定义一个指向空数组的指针?
bios8086
2011-07-03 08:39:10
public static extern void cvDistTransform(IntPtr src, IntPtr dst, DIST_TYPE distanceType, int maskSize, float[] userMask, IntPtr labels);
float[] userMask 在C++中可以输入NULL,在C#中调用改用啥?
...全文
488
8
打赏
收藏
请问C#怎么定义一个指向空数组的指针?
public static extern void cvDistTransform(IntPtr src, IntPtr dst, DIST_TYPE distanceType, int maskSize, float[] userMask, IntPtr labels); float[] userMask 在C++中可以输入NULL,在C#中调用改用啥?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bios8086
2011-07-03
打赏
举报
回复
caozhy 大师
是你提醒了我!我好像还没想到你这么深的层次!指向空数组的指针和指向数组的空指针,呵呵
我其实知道自己想要的是一个指向空数组的指针
float[] userMask = NULL;
float[] a = new float[0];
这两种方式我都试了,事实上都可以使得函数正常的运行!
bios8086
2011-07-03
打赏
举报
回复
caozhy 大师我一向是尊敬你的!
threenewbee
2011-07-03
打赏
举报
回复
float[] userMask = NULL;
首先这个代码不伦不类,根本在 C++ 里面编译不了。
其次,指向空数组的指针和指向数组的空指针是两个不同的概念,看上去lz的最初想表达的是后者。但是后来又是想表达前者。
最后,C#没有指针概念,无法和C++类比。也许lz是高手,会告诉我,C#也是支持指针的云云。但是互操作兼容是C#使用指针唯一的目的,而lz所谓的解决事实上没有解决。
如果你要传空指针,直接传0就可以了。
bios8086
2011-07-03
打赏
举报
回复
float[] a = new float[0];
我搞了个这样的数组传进去,居然可以!呵呵
bios8086
2011-07-03
打赏
举报
回复
[Quote=引用 3 楼 whycom 的回复:]
把那个参数定义为intptr
如果非null
float[] a=
intptr pf = Marshal.UnsafeAddrOfPinnedArrayElement(a,0);
传入
[/Quote]
我不能定义啊,是调用人家的!
whycom
2011-07-03
打赏
举报
回复
把那个参数定义为intptr
如果非null
float[] a=
intptr pf = Marshal.UnsafeAddrOfPinnedArrayElement(a,0);
传入
bios8086
2011-07-03
打赏
举报
回复
[Quote=引用 1 楼 whycom 的回复:]
IntPtr.Zero
[/Quote]
不行 我开始也是这样想的,可是不行!
whycom
2011-07-03
打赏
举报
回复
IntPtr.Zero
C#
基础语法入门教程、基VS2019(net网站开发系列)
讲解开发软件Visual Studio 2019的下载、安装、
c#
的基础语法、基础语法实战讲解。主要涉及:开发软件下载、安装、初步体验;
C#
入门实例和概要;
C#
数据类型和运算符;
C#
变量;
C#
常量;
C#
if 语句;
C#
switch case语句;
C#
for循环;
C#
while循环;
C#
break和continue语句;
C#
string字符串;
C#
数组
;
C#
常用类
C语言
数组
指针
(
指向
数组
的
指针
)
定义
数组
时,要给出
数组
名和
数组
长度,
数组
名可以认为是一个
指针
,它
指向
数组
的第 0 个元素。在C语言中,我们将第 0 个元素的地址称为
数组
的首地址。以上面的
数组
为例,下图是 arr 的
指向
:
数组
名的本意是表示整个...
如何
定义一个
数组
指针
数组
指针
是
指向
数组
的
指针
----存放
数组
的地址 对于 int* arr1[10]={0}; 要求正确书写
数组
指针
arr2 arr2=&arr1; //1.存放的是
数组
的地址,故 (*arr2)=&arr1; //使得arr2是一个
指针
//2.
数组
有10个...
什么是
数组
指针
和
指针
数组
数组
指针
和
指针
数组
C#
中
数组
指针
和
指针
数组
的区别
数组
指针
是
指向
数组
的
指针
变量,通过
指针
算术运算符来访问
数组
元素;而
指针
数组
是一个
数组
,其元素是
指针
类型,可以
指向
不同的内存位置。在实际应用中,根据具体的需求,选择适合的方式来处理数据和
指针
操作。每个...
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章