トップページ > プログラム > 2016年09月11日 > Q4IAW6Rr

書き込み順位&時間帯一覧

67 位/189 ID中時間01234567891011121314151617181920212223Total
書き込み数0100000000000000000000001



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【QBASIC互換!?】FreeBasic【GPL】

書き込みレス一覧

【QBASIC互換!?】FreeBasic【GPL】
630 :デフォルトの名無しさん[sage]:2016/09/11(日) 01:00:30.75 ID:Q4IAW6Rr
>>626
ポインタ型は、メモリ上のアドレスを格納する型
dim a as integer = 100
dim pa as integer ptr = @a
print pa
print *pa
とした場合、変数aはコンパイラにより自動的にメモリ上にinteger型の領域を確保され、100が代入される
2行目は、その確保されたアドレスを変数paに格納している
@aはaddress of aって意味
3行目は、変数paが指し示すアドレスを表示する
4行目は、ポインタが保持するアドレスにあるinteger型の値を取得して、値の100が表示される
*paはvalue of paって意味
実体と言ったのは、ポインタが指し示したアドレス先にそれが示す値が格納されているから

通常、newやallocateでメモリ領域を確保し
ポインタ型にそのアドレスを格納し、処理後にdeleteやdeallocateでメモリを開放する
普通の変数宣言は、コンパイラがメモリの確保と開放をスコープ基準でやってくれるが
ポインタ型の変数宣言はプログラマ自身がメモリの確保と開放を動的に行うためにある

FreeBASICはBASICの構文を使用するけど、その形態はC言語に近い
ポインタに関して詳しく知りたいなら、C言語を調べてみると良い(mallocやfree)
FreeBASICはC言語よりポインタの記述に関しては分り易く出来てる


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。