掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ポインタに代入した時のアドレス (ID:203)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
4回目の投稿記事より >strとbufの値(アドレス)が同じであっても、str[1]とbuf[1]の値が違うことも要注意です。 String型の配列は初期値が"1"なので"1"で良いですが、Pchar型の配列は"0"が初期値です。 ListBox1.Items.Add('strの1番目の値='+ str[1]); ListBox1.Items.Add('bufの1番目の値='+ buf[0]) 前回の投稿記事より >buf[1] := '1'; // ここで書き込みエラーが発生するので >buf[3] := '3'; // bufの値(アドレス) が不正と思われる D5/D6+Win98ではエラーは発生していません(^^; >ListBox1.Items.Add(IntToHex(Integer(@str[1]), 8)); 問題はこのコードですね。 確かにこのコードをいれるとstrのアドレスが変更されてしまいますね。 String自体がポインタの塊なので、配列によるアドレス参照を行うと アドレスが変わってしまう仕組みがあるのかもしれません。 String型を形成しているソースがないのでよくわかりませんが・・・ ※この件に関しては私にもよくわかりません。お役に立てなくてごめんさいm(- -)m
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.