在名为
的函数中给出void callFunct1 (arg_t **q) {
if (t==1) //
*q = NULL;
else
memcpy((*q)->items, listOfContents, size of listOfContents); // listOfContents is const static, no memcpy required
};
EXPORT_SYMBOL(callFunct1);
给定t == 0
我如何确保memcpy获取内容?
arg_t* q;
//
callFunct1 (&q);
//not able to obtain from here (q->items)
arg_t只是一个结构。
typedef struct {
list items[100];
} arg_t;
typedef struct {
int contents;
} list;
答案 0 :(得分:1)
因为没有分配q内存所以你需要先分配内存forr q然后将内容复制到q。
应该传递结构的memcpy地址&((* q) - > items)和类似的 对于源结构
(OR)
将函数更改为callFunct1(arg_t * q),可以按以下方式调用
arg_t q;
callFunct1(& q);