型のサイズ(バイト数)は,
sizeof(型)関数を使えば,取得できる.
1 #include <stdio.h>
2
3 int main(void)
4 {
5
6 printf("----- size ---------\n");
7 printf("\tchar\t%d\n", sizeof(char));
8 printf("\tint\t%d\n", sizeof(int));
9 printf("\tdouble\t%d\n", sizeof(double));
10
11 return 0;
12 }
----- size ---------
char 1
int 4
double 8
これは,無理矢理変数の中身をみるプログラムである.こんなもの,今は理解できなくて
もよい.参考のために載せているだけだ.
1 #include <stdio.h>
2
3 int main(void)
4 {
5
6 double x=-7.696151733398438e-4;
7 int i=55;
8 char a='a';
9 unsigned char *p;
10
11 printf("--- char a ---------------\n");
12 printf("%p\t%02x\n", &a, a);
13
14 p=(unsigned char *)&i;
15
16 printf("--- int i ----------------\n");
17 printf("%p\t%02x\n", p, *p);
18 printf("%p\t%02x\n", p+1, *(p+1));
19 printf("%p\t%02x\n", p+2, *(p+2));
20 printf("%p\t%02x\n", p+3, *(p+3));
21
22 p=(unsigned char *)&x;
23
24 printf("--- double x -------------\n");
25 printf("%p\t%02x\n", p, *p);
26 printf("%p\t%02x\n", p+1, *(p+1));
27 printf("%p\t%02x\n", p+2, *(p+2));
28 printf("%p\t%02x\n", p+3, *(p+3));
29 printf("%p\t%02x\n", p+4, *(p+4));
30 printf("%p\t%02x\n", p+5, *(p+5));
31 printf("%p\t%02x\n", p+6, *(p+6));
32 printf("%p\t%02x\n", p+7, *(p+7));
33
34 return 0;
35 }
--- char a ---------------
0xbffff6ab 61
--- int i ----------------
0xbffff6ac 37
0xbffff6ad 00
0xbffff6ae 00
0xbffff6af 00
--- double x -------------
0xbffff6b0 00
0xbffff6b1 00
0xbffff6b2 00
0xbffff6b3 00
0xbffff6b4 00
0xbffff6b5 38
0xbffff6b6 49
0xbffff6b7 bf
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成19年2月9日