关于指针所占用的字节数

时间:2022-12-16 22:46:52

/*
** 时间 :2016年4月7日22:21:50
** 地点 :宿舍。
** 目的 :测试各类指针所占用的字节数。
** 功能 :打印指针所占用的字节数。
*/

#include <stdio.h>

/* 定义一个标记为_Student的结构体 */
struct _Student
{
  int num;     //学号
  int age;      //年龄
  char *name;    //姓名
};

int main(void)
{
  struct _Student stu = {1951, 21, "xiaoming"};     //定义一个stu结构体并且初始化

printf("sizeof(int *)     = %d字节\n", sizeof(int *));
printf("sizeof(char *)  = %d字节\n", sizeof(char *));
printf("sizeof(long *)  = %d字节\n", sizeof(long *));
printf("sizeof(short *)    = %d字节\n", sizeof(short *));

  printf("sizeof(stu) = %d字节\n", sizeof(stu));
  printf("sizeof(struct _Student) = %d字节\n", sizeof(struct _Student));

  return 0;
}

/*
** 在VC6.0中的输出结果是:
** ----------------------------------------------------------------
** sizeof(int *) = 4字节
** sizeof(char *) = 4字节
** sizeof(long *) = 4字节
** sizeof(short *) = 4字节
** sizeof(stu) = 12字节
** sizeof(struct _Student) = 12字节
** ----------------------------------------------------------------
**
** 总结:
** 指针都是占用4个字节,不管是什么类型的指针。
*/