Article View: fj.lang.c
Article #318Re: 教えてください。
From: Masahiro Kondo
Date: Tue, 14 Apr 1998 00:00
Date: Tue, 14 Apr 1998 00:00
40 lines
1901 bytes
1901 bytes
こんにちは、近藤といいます。
南田和彦 wrote:
>
> 南田@TSIです。
> 次のプログラムはオフセット値の算出の例の様なのですが、
> 正しいのでしょうか(32ビットUNIXの場合)?
>
> 1 unsigned int start,end,offset;
> 2 void *p1,*p2;
> 3 start=(unsigned int)p1;
> 4 end=(unsigend inf)p2; < unsigend inf ??
> 5 offset=end-start;
>
> 2行目ではp1、p2はポインタ変数としての宣言だけですよね?
> 3行目ではp1の不定の内容がstartに入ると私は思うのですが。
p1,p2とも値は不定ですね!
したがって、offsetも不定となります。
正確は、void *p1,*p2;の宣言が、
関数外の時 -> NULL(0?)
関数中の時 -> 不定
です。
> 私は3、4行目のp1、p2の前に&演算子がつけば大丈夫かなと
> 思うのですがどうでしょう。
演算の趣旨がよく分からないのですが、このプログラムは、
いったい何をしようとしているのでしょうか?
仮にp1のアドレスとp2のアドレスの差分を取ろうとしていて、
sizeof(unsigned int) == sizeof( void *)という保証があれば
&を付けることで解決しますが・・・
--
/***************************************
Masahiro Kondo (近藤 正博)
mako@mail.raidway.ne.jp
***************************************/
Technical Details
Message-ID:
<35337724.A71606CE@mail.raidway.ne.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<01bd669a$64962480$75910e0a@gxi117.tsi.co.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 106434,fc71488cf5570b81 X-Google-Attributes: gid106434,public From: Masahiro Kondo <mako@mail.raidway.ne.jp> Subject: Re: 教えてください。 Date: 1998/04/14 Message-ID: <35337724.A71606CE@mail.raidway.ne.jp> X-Deja-AN: 343965709 Content-Transfer-Encoding: 7bit References: <01bd669a$64962480$75910e0a@gxi117.tsi.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Organization: raidway.ne.jp Raid Digital Systems site Newsgroups: fj.lang.c