異なる型の他の構造体へのポインターの配列で構成される構造体があります。
typedef struct{
NodeT* nodes[2];
int size;
}stackT;
と:
typedef struct{
char info;
}NodeT;
そして、上記の(最初の)構造へのポインタがあります:
stackT* stackPtr;
メモリが stackT 構造体と、両方の NodeT 構造体のメンバーに関連付けられた割り当てを持つ両方の NodeT 構造体に割り当てられていると仮定すると、stackT のポインターの 1 つを関数に渡すにはどうすればよいでしょうか?
例えば:
void setChar(NodeT* nodePtr, char setTo){
nodePtr->info = setTo;
}
次の行で呼び出されます。
setChar(stackPtr->nodes[0], 'A');
動作しません。私は、実際に構造体を渡しているポインターを逆参照する -> 構文と関係があると考えました。コンパイルエラーは発生しませんが、保存されているものを印刷して割り当てを確認すると、char info
何も得られません。
表記が間違っていますか、それともプログラムの他の場所に問題がありますか? 最初にこれを除外したかっただけです(適切な構文を渡します)。