gpt4 book ai didi

c# - 将 C 指针语句转换为其等效的 C#

转载 作者:太空宇宙 更新时间:2023-11-04 00:31:32 24 4
gpt4 key购买 nike

我有一些 C 代码,我试图将其转换为 C# 代码,但遇到了我不熟悉的指针,因此我不知道 C# 的等效项。得到我的帮助吗?

案例 1:鉴于 C 中的这三行,我如何在 C# 中声明 p?

double snorm[169];
double *p = snorm;
*p = 1.0;

情况 2:我不知道指针实际在做什么,所以我不知道如何将此行更改为 C#。

*(snorm+n) = *(snorm+n-1) * (double)(2*n-1) / (double)n;

最佳答案

首先:

double[] snorm = new double[169];
snorm[0] = 1.0;

不仅仅是使用 snorm 而不是 p

第二个:

snorm[n] = snorm[n-1] * (double)(2*n-1)/(double)n;

基本上,*p 意味着您获取内存地址处的值,由p 引用。对指针的自增和加法都是在内存中移动指针,所以p++,以及(p+1)只是指向内存中的下一项(它有多远真正在内存中移动取决于指针指向的数据类型)。并且,*(p+n) 只是数组中第 n 项的值(如果 p 指向数组)

无论如何,您应该熟悉指针。

关于c# - 将 C 指针语句转换为其等效的 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13474688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com