[過去ログ]
sizeof(char)が必ず1でも、省略すべきではない (683レス)
sizeof(char)が必ず1でも、省略すべきではない http://mevius.5ch.net/test/read.cgi/tech/1187521586/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
47: デフォルトの名無しさん [sage] 2007/08/20(月) 00:23:18 >>44 すでに_strdupがあるもんな。 「文字列の尻には\0があるから、+1文字分の領域が必要」 ということに対処するコードは一ヶ所だけにまとめておくべきで、 プログラム全体に散在させるべきではないよね。 それが後で変るかどうかは関係ない。 あちこちにmalloc(strlen(s)+1)と書けばいいと言う人間は、 構造化プログラミングを否定していると思う。 http://mevius.5ch.net/test/read.cgi/tech/1187521586/47
49: デフォルトの名無しさん [sage] 2007/08/20(月) 00:29:47 >>47 malloc(strlen(s) + sizeof(char)) って書くってこと? http://mevius.5ch.net/test/read.cgi/tech/1187521586/49
52: 5 [sage] 2007/08/20(月) 00:42:54 俺もsizeof(char) == 1 だと思ってたけど、TCHARがWindowsのAPIがらみの定義らしいとこまで調べたので、strlenもwindowsの特殊仕様な可能性を考えてました。 (引数の型がTCHARとやらに変わるなど、思い込み) 無知なのに口だしてごめんなさい。 strlenがchar固定。sizeof(char)==1バイトが、規格から明らかならば、 sizeof(char)はいらないよね。 察するに>>40,>>43は「バイト数」と言う言葉と、「文字数」という言葉を 厳格に分けたいというところかな? それに対して、1バイト==sizeof(char)は規格上定義されているから 分けて考える必要はないという反論。ってことですね。私はこっち派。 >>47,>>49 このスレで議論の中心になってるのは、+1ではなくて、 >>1の1行目、"sizeof(char)*" -charのサイズを掛けている-部分だと思うよ。 http://mevius.5ch.net/test/read.cgi/tech/1187521586/52
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.259s*