私はC言語に新しく、(古典的な)練習としてリンクリストにいくつかの操作を実装しようとしています。私にエラー「宣言されていない識別子の使用」を与えている型キャスト時に "宣言されていない識別子を使用する" void struct pointerへのポインタを無効にする
#include <stdlib.h>
struct intNode_t {
int data;
struct intNode_t* next;
};
int main() {
struct intNode_t* root = (intNode_t*) malloc(sizeof(struct intNode_t));
return 0;
}
コンパイラ(打ち鳴らす):私は次のようにルートノードを宣言して初期化しようとしているとき、私は...しかし、非常に遠く、まだもらっていませんmallocからintNode_tへのポインタに返されたvoidポインタを型キャストしようとしているところです。私はこれがノブの質問であることを理解していますが、私は答えを他の場所で見つけることができませんでした。助言がありますか?
あなたはあなたの主な機能に二回型名 '構造体intNode_t'を綴られてきました。異なる名前の 'intNode_t'の動作が異なっているのになぜ驚いていますか? –
注: 'struct intNode_t *'と 'intNode_t *'は同じものではありません。少なくともCではありません。ちょうどそのタイプのキャストを削除し、あなたは(自分自身を含む)多くの人々を幸せにするでしょう。 – tofro
「malloc」の結果をキャストすべきだと言った人は誰ですか?その人を聴くのをやめてください。 –