HSP の文字列
式での文字列と変数で管理している文字列のバッファを分けて考えたらいいんじゃないかと思った。
式での文字列
- 不変
- '\0' を含まない
- 文字列型変数から式へ: '\0' までを取り出す
変数で管理している文字列のバッファ
- 可変。 代入や連結、 poke や memcpy などで変更される。
- '\0' を含むことができる
- 最低 64 バイトのサイズがある
- 初期状態は '\0' で塗りつぶされている
- sdim での初期化時にサイズを指定できる
- memexpand でユーザー側からサイズを好きなサイズへ拡張できる(縮小はできない)
- 代入時には内容と '\0' が上書きされる。(それより後ろの内容はそのまま)
- 代入や連結時には自動的にサイズが拡張される
- 連結時にサイズが拡張されるとき、サイズは 4KB 単位に丸められる