我有typedef struct
名为“item”的项目,其中包含2个char[254]
(产品名称和公司名称)和9个int
变量。 (价格,金额等)。
我创建了一个来自typedef struct
和一个数组(1D)和一个二维数组的指针。
我使用scanf
将数据存储到指针的相应变量(到目前为止没问题)。
现在,我希望将指针变量的数据“复制并存储”到数组(1D)中,然后将1D数组的数据“复制并存储”到2D数组中。
对于指向1D数组的指针,这就是我所做的:
void pointer_conversion(item *a, item curr[10000], int total)
{
memcpy(&curr[total], a, sizeof(item*));
}
// Tried doing: memcpy(&curr[total],a,sizeof(item*) * 100);
// Why 100?= just to be safe. But still not working.
现在,此函数复制并将指针char[254]
的第一个a
存储到1D数组curr
中,但typedef struct
的其余变量为{{1} }}。
有什么建议吗?
NULL
答案 0 :(得分:1)
考虑代码片段的作用,
函数返回void / nothing
void
函数名是pointer_conversion,有三个参数
参数total是一个int
pointer_conversion(item *a, item curr[10000], int total)
{
memcpy有三个参数,目标,来源和要复制的字节数
您要复制多少字节? sizeof(item)有多大?
memcpy(&curr[total], a, sizeof(item*));
}
但您可能不想复制项目的下一个元素