• 締切済み

C言語のプログラミング

C言語のプログラムを読もうとしているのですが、初心者故に難儀しており、お助けいただければ幸いです。 プログラムの内に下記のような「CnsktModule* 」の部分があります。 例えば、char *p; のような記述であれば、p はポインタでポインタの指し示す内容はキャラクタの型を 持っていると理解できるのですが、「CnsktModule* 」はどのように解釈したらよいのでしょうか? CnsktModule* cnsktNew(char *printer, char *locale, char *folder_path, int port_num) { 以下省略

みんなの回答

noname#82346
noname#82346
回答No.3

> p はポインタでポインタの指し示す内容はキャラクタの型を 持っていると理解できるのですが そこまで理解できているのなら簡単です。これが CnsktModule *p; という変数宣言であれば、同じように解釈して、p はポインタで、ポインタが指し示す内容が CnsktModule 型です。 CnsktModule* cnsktNew(...) の場合は、関数 cnsktNew の返値が CnsktModule *p; の p と同じ型である、というだけのことです。

bluemusash
質問者

お礼

回答をいただきまして有難う御座いました。 CnsktModule型をした構造体へのポインタ を返していることが理解できました。

すると、全ての回答が全文表示されます。
  • eroermine
  • ベストアンサー率18% (83/444)
回答No.2

CnsktModule* cnsktNew アスターは右についてます CnsktModule *cnsktNew char *p; char* p; コンパイル結果は同じ。 char* p,q,r; は char *p,*q,*r; と錯覚してしまう間違いを誘発するので危険。 C++の開発者が始めた妙な記述が広まってしまいましたね。

bluemusash
質問者

お礼

回答をいただきまして有難う御座いました。 そうなのです。アスターの位置が左のCnsktModuleの お尻についているのかと思って理解できなかったのです。 CnsktModule型をした構造体へのポインタ を返していることが理解できました。

すると、全ての回答が全文表示されます。
  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.1

当該の関数は、CnsktModule型へのポインターを返します。

bluemusash
質問者

お礼

回答をいただきまして有難う御座いました。 CnsktModule型をした構造体へのポインタ を返していることが理解できました。

すると、全ての回答が全文表示されます。

関連するQ&A