- 1 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 21:36:23 ]
- エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。 ※sageは禁止です。 【前スレ】 【初心者歓迎】C/C++室 Ver.34【環境依存OK】 pc10.2ch.net/test/read.cgi/tech/1169039760/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 352 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 14:03:04 ]
- C言語を仮定するけど、ポインタは全部同じサイズだから相互にキャストできるよ。
> printf("un_str=%s\n",un_str); %s は const char* 型の引数を期待するから、 *((const char*)un_str)という変換が行われることになる。 un_strが指してるのは"hoge"、つまり const char[] だから、問題なく変換できる。 他も同じ。
- 353 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 14:26:55 ]
- > C言語を仮定するけど、ポインタは全部同じサイズだから相互にキャストできるよ。
現実には大抵そうなっているけど、規格上はそんな規定なんてないはず。
- 354 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 14:28:46 ]
- そうだっけ?
んじゃvoid*の扱いはどうなるんだ?
- 355 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 14:29:45 ]
- 同じでない場合は、void*が一番でかいポインタのサイズ
そして使うときはキャストされるので問題なし
- 356 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 14:32:17 ]
- 昔懐かしい、farポインタ、nearポインタ、とか?
- 357 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 14:40:29 ]
- 残念ながら void* も void(*)() を保持できる保証はない。
- 358 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 14:42:58 ]
- 375<< インラインアセンブリならできるかも・・・
- 359 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 14:45:19 ]
- >>356
普通に char* と int* のサイズが違うようなアーキテクチャも存在した。
|

|