2010年6月21日月曜日

C言語の勉強:変数のサイズと内容を知る

C言語の変数がどのように定義されてメモリに配置されているか疑問に思ったことは無いでしょうか? これを解決するためのコードを作ってみました。

今回はtargetという変数をfloat型で宣言していますが、好きな型で宣言すれば色々な変数に対応できます。 C言語の細かい部分に足を踏み入れたいのであればどうぞ。

#include<stdio.h>

int main(void)
{

/*target変数を適当な型を宣言し、何か数字を代入しておく*/
float target = 58.875;

int iCnt; /*カウンタ用変数*/

int iMax = sizeof(target); /*targetが何バイトであるか取得する*/

unsigned char *c = (char *)&target; /*メモリ内部取得用文字型ポインタ*/

/*バイト数だけループする*/
for(iCnt = 0 ; iCnt < iMax ; ++iCnt){

printf("%02X ",*c);
++c;

}

printf("\n");

return 0;
}

0 件のコメント:

コメントを投稿