我从来不擅长在C语言中使用指针。但这一次,我想请你帮助我解决指针问题。 我有一个函数,用于将值推入栈中。
void StackPush(stackT *stackPtr, stackElementT element){
stackNodeT* node = (stackNodeT *) malloc(sizeof(stackNodeT));
if (node == NULL){
fprintf(stderr, "Malloc failed\n");
exit(1);
} else {
node->element = element;
node->next = StackEmpty(stackPtr)? NULL : *stackPtr;
*stackPtr = node;
}
}
如果我将最后一行更改为stackPtr =&node,则此函数将无法正常工作。我的问题是为什么? * stackPtr = node;和stackPtr =&node之间有什么区别?如有任何帮助,将不胜感激。