我正在尝试遍历一个数组,并将每个数据[i]发送到add节点函数。我不确定在声明为:char * data [400时我应该如何传递数组];
addNode(data[i]) or addNode(&data) or addNode(&data[i])
??
for (i=0; i<size; i++){
addNode(&data[i]);
}
NgramNodePtr addNode(const char *data)
{
NgramNodePtr newNode = (NgramNodePtr) malloc(sizeof(data));
//copy all of the node elements.
strcpy(newNode->data, data);
newNode->next = head.head;
head.head = newNode;
return newNode;
}
答案 0 :(得分:0)
data
是char **的类型,addNode()
将char *作为参数。在循环中,您使用变量i
作为指针,因此使用:addNode(data[i])
将char **取消引用为char *。