发送字符数组作为参数?

时间:2017-10-01 23:35:03

标签: c

我正在尝试遍历一个数组,并将每个数据[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;
}

1 个答案:

答案 0 :(得分:0)

data是char **的类型,addNode()将char *作为参数。在循环中,您使用变量i作为指针,因此使用:addNode(data[i])将char **取消引用为char *。