Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 访问传递给函数的链表数组的成员_C_Arrays_Pointers - Fatal编程技术网

C 访问传递给函数的链表数组的成员

C 访问传递给函数的链表数组的成员,c,arrays,pointers,C,Arrays,Pointers,我正在使用visual studio for C,在这里,我从一个双链接列表中创建一个包含int数据类型(startCount和endCount)的节点数组。所以我将d链表中的节点插入到这个数组中。然后我尝试通过分区对它进行排序。 我得到以下错误: left of '->startCount' must point to struct union expression must have pointer-to-class type 对于while语句中的以下代码: int Partiti

我正在使用visual studio for C,在这里,我从一个双链接列表中创建一个包含int数据类型(
startCount
endCount
)的节点数组。所以我将d链表中的节点插入到这个数组中。然后我尝试通过分区对它进行排序。 我得到以下错误:

left of '->startCount' must point to struct union
expression must have pointer-to-class type
对于while语句中的以下代码:

int PartitionArray(DListNode*** sortArray){
........
while((*sortArray[left]->startCount - *sortArray[left]->endCount) < (pivot->startCount - pivot->endCount)){
left++;
}
........
}

where in main I have:
int main(){
DListNode **sortArray;
PartitionArray(sortArray);
}
int分区数组(DListNode***sortArray){
........
而((*SortAry[left]->startCount-*SortAry[left]->endCount)<(pivot->startCount-pivot->endCount)){
左++;
}
........
}
我主要有:
int main(){
DListNode**sortArray;
分区数组(sortArray);
}

我不明白如何通过引用传递的数组访问节点的值。

根据您定义数据结构的方式,您可能以错误的方式取消引用变量。由于*运算符的优先级较低,您可能需要使用

(*sortArray)[left]->startCount 
(*sortArray[left])->startCount 

而不是

*sortArray[left]->startCount

非常感谢。现在我有另一个问题:当我在sortArray中将一个元素设置为指向函数内部节点的指针时,我遇到了一个分段错误:int PartitionArray(DListNode***sortArray){DList node=curNode;sortArray[1]=curNode;}我遇到了一个分段错误。看起来sortArray可能还没有初始化。在调用PartitionArray()之前,我需要查看代码,以了解如何处理数据结构。
(*sortArray[left]).startCount 
*sortArray[left]->startCount