09/02/09 16:04:18
>>119
Cにはポインタ変数ってのがあります。
ポインタ変数自体は、int型の変数です。(アドレスはunsigned int型と同じ様な値を持つ)
ポインタ変数を定義するには、「*」を付けます。
char* a;
このとき、aに100を入れたら、100が入ってます。でも、0.1とかは入りません。だってunsigned int型と同一だから。
次に、「*」をつけると、「*a」 になります。
このとき、メモリ100番地の内容を読み取ることになります。(1番地あたり、1バイトしか格納できないので注意。)
もし、メモリ103番地に「A」という文字を書き込みたいと思ったら、
a = 103;
*a = 'A';
と書きます。(実際にやると、一般保護例外(セグメンテーションエラー)が出ます。)