我有一个结构,该结构由一组指向不同类型的其他结构的指针组成。
typedef struct{
NodeT* nodes[2];
int size;
}stackT;
和:
typedef struct{
char info;
}NodeT;
我有一个指向上述(第一个)结构的指针:
stackT* stackPtr;
假设为 stackT 结构以及两个 NodeT 结构分配了内存,并为两个 NodeT 结构的成员分配了相关的分配,我将如何将 stackT 中的指针之一传递给函数?
例如:
void setChar(NodeT* nodePtr, char setTo){
nodePtr->info = setTo;
}
用线调用:
setChar(stackPtr->nodes[0], 'A');
不工作。我认为这与 -> 语法取消引用指针有关,我实际上是在传递一个结构。我没有得到任何编译错误,但是当我通过打印存储在其中的任何内容来检查分配时,char info
我什么也没有得到。
符号是不正确的还是我在程序的其他地方有问题?我只是想先排除这个(正确的传递语法)。