ベストアンサー typedef struct OBJECT NODE; の意味を教えてください。 2007/02/21 21:30 C言語において、 typedef struct OBJECT NODE; に、コメント文を付けるとしたらどのようになりますか?? よろしくお願いします。 みんなの回答 (5) 専門家の回答 質問者が選んだベストアンサー ベストアンサー tthe_mine ベストアンサー率46% (19/41) 2007/02/21 23:11 回答No.3 意味は「これから NODE って出てきたら struct OBJECT と同じことだからね」ということです。 コメントに関してですが、言語に親しんだ人であれば難なく理解できる個所にはコメントを書かないのが良いマナーであると思います。 過剰なコメントは可読性を損ねますから。 この場合はコメントをつけないのが正解だと思いますよ。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (4) noname#30727 2007/02/25 23:13 回答No.5 >typedef struct OBJECT NODE; OBJECT は構造体のタグ、struct OBJECT は型、NODE は型です。 この手の typedef は常套句なので普通はコメントを入れませんが、あえてコメントを入れるとするなら /* いちいち struct と書くのが面倒なので NODE を定義した */ という所です。 ただし、OBJECT と NODE のような関連性の少ない名前を付けることは珍しいです。基本同じ名前でタグの方を冗長にするのが一般的です。 例) struct NODE_TAG { ... }; typedef struct NODE_TAG NODE; 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 Oh-Orange ベストアンサー率63% (854/1345) 2007/02/21 23:16 回答No.4 ★さて、どうしましょう。 ・『回答への補足』から『意味は?』というのは当たっていたようですが、この質問の 根本は何でしょうか? ・回答者が質問者さんに『質問』するのはおかしいですが、今何を行っていて構造体の 『typedef struct OBJECT NODE;』が出てきたのでしょうか? ・この辺をはっきりとしてくれませんか?→質問内容を整理して下さい。 つまり、C言語をお勉強中で『本』や『サイト』で出てきた構造体に対する質問でしょうか? ・それとも『宿題』でしょうか? 不明です。→『NODE型を再定義』するが回答ならば、この質問は解決という意味で締め切りましょう。 ・以上。おわり。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 Oh-Orange ベストアンサー率63% (854/1345) 2007/02/21 22:24 回答No.2 ★追記。 ・holmes1001 さんへ。 ・構造体の宣言や定義の仕方が分からないのですか? ・もう少し、今何を行っているのかを教えて下さい。 ・以上。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 Oh-Orange ベストアンサー率63% (854/1345) 2007/02/21 22:22 回答No.1 ★こちらは『typedef struct OBJECT NODE; の意味を教えてください。』よりも難解です。 ・コメントをつけるとはどういう意味ですか? ・普通に『//』で行末までコメントを記述すればよいのでは? ・前回と同じく『意味は?』という事で『コメントを付けるとしたら??』という事ですか? ・すごく難しいです。単純に『struct OBJECT』型の構造体を『NODE』という名前で再定義 していますが…。→コメントを付けるとしたらば『NODE型を再定義』でいいと思います。 ・これ以上のアドバイスは出来ません。→補足要求します。誰かのソースを解読しているのですか? 質問者 補足 2007/02/21 22:49 >前回と同じく『意味は?』という事で『コメントを付けるとしたら??』という事ですか? そのとおりです。構造体OBJECTにNODEという名前を別名としてつけているということですよね??国語力がなくてすみません・・・。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発C・C++・C# 関連するQ&A typedefをプログラム中で解除するには? C言語において、 typedefした後に そのtypedefをプログラム中で解除するにはどうしたらいいでしょうか? typedef struct _test test [] test ←typedef解除 typedef struct Opaque~ ~;の Opaqueとはなんですか? 宜しければ教えていただきたい事があるのですが アップルのフレームワークで提供している構造体の要素を確認したく辿って行くとよく typedef struct Opaque~ ~;のような記述に行き当たり、そこまでしか辿れないのですが、 これは文字の意味のとおりで非公開という事なのでしょうか? 例 typedef struct OpaqueAudioFileID *AudioFileID; お願いいたします。 【C++】typedefの役割について C++だけでなく、Cでも同様なのだと思うのですが、下記の(1)、(2)の違い がよくわからず、どなたかにご教授いただければと思っています。 (1) struct{ (略) }BBB; (2) typedef struct{ (略) }BBB; (2)が下記((2)')のようになるんであれば、AAAという名前の構造体を BBBという名前で定義しているという事で理解できるんですが、 (2)のようにしている意図が理解できません。 (typedefの記述は必要なんでしょうか?) すでに動いているシステムなので、問題ないのは明らかなんですが。 (2)' typedef struct AAA{ (略) }BBB; ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム typedefについてご質問お願いします。 struct listNode { char data; struct lostNode *nextPtr; }; typedef struct listNode LISTNODE; typedef LISTNODE *LISTNODEPTR; main() { LISTNODEPTR startPtr = NULL; 質問1 上記プログラム中のtypedef LISTNODE *LISTNODEPTRの意味が分からないのですが、これは何を何にtypedefしてるのでしょうか? 質問2 この記述ではNULLポインタはstartPtrがさす値をNULLにするのかstartPtrの値をNULLにするのかを教えていただきたいと思います。 初心者のため的外れな質問かもしれませんがよろしくお願いします。 node* ってなんなのでしょうか? C初学者です。 2分探索木のプログラムをCで組もうと思っており、いろんなサイト様に乗っている ソースなどを参考にしているのですが自分の知らない表現があります。 たとえば各値を管理する構造体をnodeとすると、値を探す関数searchの宣言で node* search(node* root,int val) のような文があるのですがnode* とはどういう書き方なのでしょうか。 手元にある初学者向けの本で調べては見たのですが載っていないようです。 (node *rootならともかくnode* rootがわかりません。 つまりnodeという型の横に*をつけるという文法がわからないのです。 実際にそのプログラムがどう動くか、などを聞いているわけではありません。) どうかよろしくお願いいたします。 ちなみに以下のようなごく簡単な?ポインタの使い方はどうにかわかっています(多分)。 /* 2つの変数の値を交換する */(mainなどは略) int n1,n2,temp; int *p1=&n1,*p2=&n2; temp = *p1; *p1 = *p2; *p2 = temp; ポインタ版リスト構造によるスタックの実装 C言語を用いてアルゴリズムの勉強をしています。 現在、ポインタ版リスト構造によるスタックを実装し、入力された文字列の中で括弧の整合性を判定するプログラムを作成しているのですが、難航しています。 プログラムの内容は、以下の通りです。 入力:a{z[e(b){j}(p)]w}(j) 結果:整合 入力:a{z[e(b){j}(p)}w](j) 結果:不整合 ですが、所持している参考書の例題プログラムには、スタックに入れる要素が整数値のものしかなく、文字をスタックに入れるところからわかりません。 また、先輩に尋ねたところ、以下のような構造体を使うと良いとアドバイスされました。 typedef struct { int max; int num; List stk; } Stack; typedef struct { Node *head; Node *crnt; } List; typedef struct node { char data; struct node *next; } Node; 先輩には申し訳ないのですが、余計にわからなくなってしまいました。 この構造体を用いてプログラムをかける方、ご指導のほどよろしくお願いします。 構造体のtypedef宣言 下の二種類の宣言は、同じ意味でしょうか? 同じ意味だとしたら、なぜこのような2通りの記述方法があるのでしょうか? typedef struct _TIME{ int hour; int min; } TIME; typedef struct { int hour; int min; } TIME; C++のtypedefについて C++のtypedefについて C++(Borland C++ Builder V5)で以下のようなソースがありました。 『typedef int (func)(Xclass* pXcls);』 これって関数ポインタの定義でしょうか? 関数ポインタの定義の場合は以下のようになるのではないのでしょうか? 『typedef int (*func)(Xclass* pXcls);』 ご教授お願いいたします。 typedefの使い方について(C言語の文法) あるサンプルプログラムを見ていたら、typedefの部分が良く理解できずに悩んでいます。 1.「Test, *PTest」のように、カンマで区切って書いてある場合、どういうことを意味しますか? typedef struct Test { //構造体メンバ } Test, *PTest; 2.WrDataBuf型の、*PWrDataBufというポインタは、どのような(どこを指す)ポインタなのでしょうか? typedef BYTE WrDataBuf[10]; typedef WrDataBuf *PWrDataBuf; よろしくお願いします。 templete における typedef C++の初心者用的な本を買ってきて、 C++でテンプレートの部分を初めて勉強しています。 その中で、自分で理解できなかった部分が有り、 質問させていただきます。 本の中で「typedefで型指定しておく」という項目があり、 ~~~ もしクラステンプレートを多用する場合は、 typedefで型指定しておくのが 常套手段です。 ~~~ と2行くらいで書いてあり、 以下のサンプルが記述されていたのですが、 ~~~~~~ typedef mystack<int> int_stack; int_stack istk; ~~~~~~ 何のために、 templeteでtypedefを取り入れるのか? どうゆうときに、どんなありがたさがあるのか?が、 いまいち、理解でしませんでした。 どなたか、解説いただけるとありがたいです。 宜しくお願い致します。 typedefについて質問があります。 現在C言語で書かれたソースを読んでいるのですが理解しにくい記述が あって困っています。 typedef void *aaa; 上記の様な記述があるのですが例えば void *aaa; ならaaaはvoid型の変数を代入するオブジェクトのアドレスを格納するもので、また typedef void aaa; ならaaaはvoidと同義語となるというのはわかりますが 一番上の記述になるとどういう意味になるのでしょうか? もしかして一番上の記述後に aaa bbb; と記入すればbbbはvoid型のポインタと同義になるのでしょうか? 初心者ですのでもしかして初歩的な質問をしてしまっているかも しれませんが、よろしくお願い致します。 node.jsを始めたいが、うまくできない http://libro.tuyano.com/index3?id=1116003&page=3 このページを参考にnode.jsを入門したいと思っています。 node.jsのコマンドプロンプトに「cd Desktop\node.js-sample\」 を打ち込んで、「node sampleapp.js」も打ち込んだのですが、Server running!!はでません。 勿論、Desktop\node.js-sample\sampleapp.jsというふうに設置しています。 Desktop\node.js-sampleではなくC:\Users\***\Desktop\node.js-sample も試しましたが、できませんでした。 node.jsのコマンドプロンプトは、 > cd Desktop\node.js-sample\ ・・・ この状態でとまっています。 何がいけないのか教えて下さい。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム 関数ポインタの型をtypedefしたとき C言語において、関数ポインタの型をtypedefで作ると、 typedef int (*MyFunc)(int*,int*); と宣言でき、関数ポインタの変数は、 int FuncA(int* a, int* b) { ~ } void main_loop() { MyFunc pf = FuncA; ~ (*pf)(pa,pb); } というように使うと思います。 ここで疑問なのですが、この実際に呼び出される関数、FuncAの定義に、typedef(ここではMyFunc)を使えないものでしょうか? 同じことを2回やっているようで、無駄に思えてしまいます。 typedefのスコープに関して。 タイトルの通りです。 C++のtypedefのスコープは、どのように定義されているのですか? ぐぐってもなかなか見つからなくて、ご存知の方がいらっしゃいましたら教えていただきたく思います。 node.jsでpostを使った受け取りで http://onlineconsultant.jp/pukiwiki/?node.js%20GET%20POST%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B 上記のページを参考にnode.jsでpostを使った受け取り、それをhtmlに表示することは出来ますか? 自分のやり方では{object Object}と表示されてしまいます. struct MyList* address;とは 「struct MyList* address;」とはアドレスを入れる為の変数のこと? 「struct MyList」は構造体を定義することでありますが、最後にアスタリスク(*)がついた「struct MyList*」というのは、これはどういう意味なんでしょうか? これは「MyListという構造体」の場所であるアドレス(番地)が入っている「MyList変数(箱)」ということなんでしょうか? わかりやすい例えで教えてください。よろしくお願いします。 -----------ソース文------------------------- struct MyList { int value; struct MyList* address; }; -------------------------------------------- C++ の typedef の 使い方の質問 C++のtypedefの使い方の質問ですが、typedefは、別名の定義として、知られていますが。 以下のソースの意味がよく読み取れないです。windows プログラミングとC++ が分かるかたがいれば、以下のソースの意味を教えていただきたいです。 よろしくお願いします。 typedef BOOL (WINAPI *AddAccessAllowedAceFn)( PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid ); 線形リストのコードでどーしても理解できない個所があります。 線形リストのコードでどーしても理解できない個所があります。 (以下、コード部分) typedef struct __node { char name[20]; char tel[16]; struct __node *next; } Node; typedef struct { Node *head; Node *tail; } List; Node *AllocNode(void) { return ((Node *)calloc(1, sizeof(Node))); } /*--- 新たに生成したノードを先頭へ挿入 ---*/ void InsertNode(List *list, const char *name, const char *tel) { Node *ptr = list->head; list->head = AllocNode(); strcpy(list->head->name, name); strcpy(list->haed->tel, tel); list->head->next = ptr; } /*--- pが指すノードの直前にノードを挿入 ---*/ void PutNodeP(List *list, Node *p, const char *name, const char *tel) { if (p == list->head) InsertNode(list, name, tel); else { Node *temp = AllocNode(); if (p == list->tail) list->tail = temp; else *temp = *p; strcpy(p->name, name); strcpy(p->tel, tel); temp->next = p; } } 上の29行目以降の≪pが指すノードの直前にノードを挿入≫についてです。 if文部分については理解できますが、else文部分について、何をやっているのかわからないです。Cの基本的な部分(ポインタも含めて)については充分に理解しているつもりです。 どなたか御教授頂けないでしょうか。 長々と書いてしまいましたがよろしくお願いします。 Node.jsとSocket IO を一緒に使う こんにちは よく、通信するアプリをつくるのに、node.jsとSocket IO を使うというのをネットで見るのですが、 Socket IOはnode.jsの機能を搭載してるのではないですか? そもそも、Node.jsは言語ではないのですか? m(__)m struct timevalを使って日時の表示をしたい LINUX環境のc言語にてgettimeofdayなどから得たstruct timeval構造体を使って 年 月 日 時 分 秒 ミリ秒または、ナノ秒の形式で画面に出力したいのですが、可能でしょうか? 宜しくお願い致します。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
補足
>前回と同じく『意味は?』という事で『コメントを付けるとしたら??』という事ですか? そのとおりです。構造体OBJECTにNODEという名前を別名としてつけているということですよね??国語力がなくてすみません・・・。