- 【初心者歓迎】C/C++室 Ver.94【環境依存OK】©2ch.net
260 :デフォルトの名無しさん[sage]:2015/04/03(金) 16:00:50.79 ID:BgGQT5vf - プリプロセッサで
数値リテラルを 別の識別子に define する なんてありえねぇ (逆はあるが)
|
- 【初心者歓迎】C/C++室 Ver.94【環境依存OK】©2ch.net
261 :デフォルトの名無しさん[sage]:2015/04/03(金) 16:05:50.01 ID:BgGQT5vf - 厳密に 整数0 及び 浮動小数点数0.0 及び NULLポインタ にしたいなら
構造体の初期化で省略指示 struct { あれこれ } var = { } ; ぐらいで、あとは個別代入になりそうな気配
|
- 【初心者歓迎】C/C++室 Ver.94【環境依存OK】©2ch.net
269 :デフォルトの名無しさん[sage]:2015/04/03(金) 16:33:15.91 ID:BgGQT5vf - >>265 おっけー
浮動小数点数もやばげ 0.0 が フルビットoff って保障されてたっけか? まぁ 初期化済み変数を static で持っておいて 引数へ代入するとか、回りくどいコードになったりするの巻
|
- 【初心者歓迎】C/C++室 Ver.94【環境依存OK】©2ch.net
272 :デフォルトの名無しさん[sage]:2015/04/03(金) 16:58:22.66 ID:BgGQT5vf - memset(ptr, 0 size) って
0を代入するんじゃなくて フルビット0 を埋めるんだろ? ポインタ変数への代入と その変数の器に結果的にフルビット0が書かれるのとは違う事象だとおもうんだが
|
- 【初心者歓迎】C/C++室 Ver.94【環境依存OK】©2ch.net
274 :デフォルトの名無しさん[sage]:2015/04/03(金) 17:10:58.11 ID:BgGQT5vf - ちゃうねん
例えば ポインタが2オクテットの大きさの系だとして union { int16 intval; void *ptr; } a; ポインタへの代入 a.p = 0; の結果、a.intval == 0 とは限らない系があるので memset による 0 フィルは あくまでも a.intval = 0 の操作であり a.p = 0 の代入コードじゃない ということを言いたいんだが (とはいえ 具体的な開発環境でこうなるぜ で明示できないのがやっかいじゃのう) 0 という数値の代入が
|