Re: 構造体をポインタで使用するとエラーとなる
森山です。
みなさん、どうもありがとうございました。
おかげでエラー無しでコンパイル出来るようになりました。
On Thu, 24 Feb 2005 14:47:23 +0000 (UTC)
kono@ie.u-ryukyu.ac.jp (Shinji KONO) wrote:
> > static struct tGroupName {
> > int iDummy ;
> > int iDummy2 ;
> > } ; < ここに名前が無いのは変なのですが、
> > メーカ説明では、何も記載されて
> > いません。
>
> 構造体の宣言なので、特に変ではないです。でも、このstatic
> は無意味だと思う。
ご指摘の通りで、私の間違いでした。又、マニュアルを確認した
所、static の記述は有りませんでた。尚、これ以外の部分は記述
通りです。
On Thu, 24 Feb 2005 23:28:47 +0900
齊藤 敦志 <saito@s4.xrea.com> wrote:
> そういうことであれば、単に
>
> int biSetPointer (tSample **piTemp)
> {
> *piTemp = pgSystem;
> return 1;
> }
>
> という感じでいいんではないかと。
On Thu, 24 Feb 2005 14:47:23 +0000 (UTC)
kono@ie.u-ryukyu.ac.jp (Shinji KONO) wrote:
> static struct tGroupName sUser ;
>
> void functionName ( struct tGroupName **pgUser )
> {
> *pgUser = &sUser;
> }
>
> とか。あるいは、free するルーチンを使って、
>
> void openGroupName ( struct tGroupName **pgUser )
> {
> *pgUser = (struct tGroupName *)malloc(sizeof(struct tGroupName *)) ;
> }
>
> void closeGroupName ( struct tGroupName **pgUser )
> {
> free(*pgUser);
> }
>
> みたいな。** が理解できるかどうかが問題ですけど...
上記を参考にして、コンパイルするとエラーが出なくなりました。
ありがとうございました。
# しかし、この[ ** ] が、手持ちのC言語関連書籍に見当たらない...
# 索引に無いだけで、どこかに書いてあるのかな?
> 僕は、struct は、typedef と必ず併用しろって教えてます。
>
> typedef struct tGroupName {
> int iDummy ;
> int iDummy2 ;
> } TGROUPNAME, *TGROUPNAME_PTR;
>
> としてやれば、
>
> static TGROUPNAME sUser ;
>
> void functionName ( TGROUPNAME_PTR *pgUser )
> {
> *pgUser = &sUser;
> }
>
> ってな感じ。** 使えない人には便利?
やはりそうですか、書籍等の説明を読んだ感じでは、typedef を
使用した方がスッキリするな〜という印象を持ったので...
--
K.Moriyama
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735