gpt4 book ai didi

将指针的结构信息转换为数组

转载 作者:太空宇宙 更新时间:2023-11-04 08:17:40 25 4
gpt4 key购买 nike

我的 for 循环有问题,它应该将指针的结构信息放入数组。此结构适用于复数。问题是数字 m[n].re/.im - 它们不是 korrekt。

typedef struct
{
float re, im;
} Complex;

#define N 2
#define M 2

int main()
{
Complex* p;
Complex matrix[N][M]; //already filled
Complex m[N*M];
int n;

n = 0;
p = NULL;

for(p = &matrix[0][0]; p<= &matrix[0][0]+N*M-1; p++)
{
m[n] = *p;
n = n+1;
}
}

最佳答案

您可以使用标准 C 函数 memcpy在 header 中声明 <string.h>例如

memcpy( m, matrix, N * M * sizeof( Complex ) ); 

如果你想使用一个使用指针的循环,那么它可以通过以下方式查找示例

for ( Complex *q = ( Complex * )matrix, *p = m; q != ( Complex * )matrix + N * M; p++, q++ )
{
*p = *q;
}

关于将指针的结构信息转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34967896/

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