我正在向函數傳遞一個雙指針。該函數從文件讀取數據到鏈表中。我將CircuitData設置爲指向第一個節點的指針。在我調用函數並想要使用CircuitData之後,它是空的。爲什麼它不返回第一個節點的地址(& newPtr)?那我打電話ReadFile函數的傳遞函數的雙指針獲取鏈表(C)的起始地址
ListNodeType **CircuitData;
int numEl = 0;
int numNodes = 0;
CircuitData = NULL;
ReadFile(CircuitData, &numEl, &numNodes);
printf("%p", CircuitData);
部分:
void ReadFile(ListNodeType **CircuitData, int *numEl, int *numNodes){
*numEl = 0;
*numNodes = 0;
ListNodeType *newPtr, *tempPtr;
newPtr = malloc(sizeof(ListNodeType));
CircuitData = &newPtr;
newPtr->nextPtr = NULL;
您聲明的項目應該是'L istNodeType * CircuitData;',調用應該是'ReadFile(&CircuitData,...)',並且函數中的賦值應該是'* CircuitData = newPtr;'。 – lurker