エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Cが低レベルなわけ - L'eclat des jours(2009-08-26)
_ メモリ参照は後にする 王様がリンクしているので、まじめに書いてみる(意図を誤読しているかも知れな... _ メモリ参照は後にする 王様がリンクしているので、まじめに書いてみる(意図を誤読しているかも知れないけどまあいいや)。 なんとなく16K境界で発現しそうに思ったら、思いのほか伸びたので途中から別の話になってたし。 問題は指定された長さのメモリーブロック内の文字走査の書き方だ。 int foobar(unsigned char* ptr, int len) { unsigned char* p = ptr; // 元のポインタ値を保持するためにインクリメンタル用ポインタを別に用意する。 for (int i = 0; *p != '\0' && i < len; i++, p++); // 0が現れるか指定長に到達するまでpを後ろへ移動する。 return p - ptr; // 元のポインタとの差=ターゲット文字までか、または元のメモリーブロックの長さを返す } バグは、for文の条件式
2009/08/26