⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sizeof.c

📁 这个是LINUX下的GDB调度工具的源码
💻 C
字号:
#include <stdio.h>typedef char padding[16];struct {  padding p1;  char v;  padding p2;} padding_char;struct {  padding p1;  short v;  padding p2;} padding_short;struct {  padding p1;  int v;  padding p2;} padding_int;struct {  padding p1;  long v;  padding p2;} padding_long;struct {  padding p1;  long long v;  padding p2;} padding_long_long;struct {  padding p1;  float v;  padding p2;} padding_float;struct {  padding p1;  double v;  padding p2;} padding_double;struct {  padding p1;  long double v;  padding p2;} padding_long_double;static voidfill (void *buf, long sizeof_buf){  char *p = buf;  int i;  for (i = 0; i < sizeof_buf; i++)    p[i] = "The quick brown dingo jumped over the layzy dog."[i];}voidfill_structs (void){  fill (&padding_char.p1, sizeof (padding));  fill (&padding_char.v, sizeof (padding_char.v));  fill (&padding_char.p2, sizeof (padding));  fill (&padding_short.p1, sizeof (padding));  fill (&padding_short.v, sizeof (padding_short.v));  fill (&padding_short.p2, sizeof (padding));  fill (&padding_int.p1, sizeof (padding));  fill (&padding_int.v, sizeof (padding_int.v));  fill (&padding_int.p2, sizeof (padding));  fill (&padding_long.p1, sizeof (padding));  fill (&padding_long.v, sizeof (padding_long.v));  fill (&padding_long.p2, sizeof (padding));  fill (&padding_long_long.p1, sizeof (padding));  fill (&padding_long_long.v, sizeof (padding_long_long.v));  fill (&padding_long_long.p2, sizeof (padding));  fill (&padding_float.p1, sizeof (padding));  fill (&padding_float.v, sizeof (padding_float.v));  fill (&padding_float.p2, sizeof (padding));  fill (&padding_double.p1, sizeof (padding));  fill (&padding_double.v, sizeof (padding_double.v));  fill (&padding_double.p2, sizeof (padding));  fill (&padding_long_double.p1, sizeof (padding));  fill (&padding_long_double.v, sizeof (padding_long_double.v));  fill (&padding_long_double.p2, sizeof (padding));}intmain (){  fill_structs ();  printf ("sizeof (char) == %d\n", sizeof (char));  printf ("sizeof (short) == %d\n", sizeof (short));  printf ("sizeof (int) == %d\n", sizeof (int));  printf ("sizeof (long) == %d\n", sizeof (long));  printf ("sizeof (long long) == %d\n", sizeof (long long));  printf ("sizeof (void *) == %d\n", sizeof (void*));  printf ("sizeof (void (*)(void)) == %d\n", sizeof (void (*)(void)));  printf ("sizeof (float) == %d\n", sizeof (float));  printf ("sizeof (double) == %d\n", sizeof (double));  printf ("sizeof (long double) == %d\n", sizeof (long double));  /* Signed char?  */  printf ("valueof ('\\377') == %d\n", '\377');  printf ("valueof ((int) (char) -1) == %d\n", (int) (char) -1);  printf ("valueof ((int) (signed char) -1) == %d\n", (int) (signed char) -1);  printf ("valueof ((int) (unsigned char) -1) == %d\n", (int) (unsigned char) -1);  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -