指针变量的sizeof

  5. 指针变量的sizeof

  学过数据结构的你应该知道指针是一个很重要的概念,它记录了另一个对象的地址。既然是来存放地址的,那么它当然等于计算机内部地址总线的宽度。所以在32位计算机中,一个指针变量的返回值必定是4(注意结果是以字节为单位),可以预计,在将来的64位系统中指针变量的sizeof结果为8。

  char* pc = "abc";

  int* pi;

  string* ps;

  char** ppc = &pc;

  void (*pf)();// 函数指针

  sizeof( pc ); // 结果为4

  sizeof( pi ); // 结果为4

  sizeof( ps ); // 结果为4

  sizeof( ppc ); // 结果为4

  sizeof( pf );// 结果为4

  指针变量的sizeof值与指针所指的对象没有任何关系,正是由于所有的指针变量所占内存大小相等,所以MFC消息处理函数使用两个参数WPARAM、LPARAM就能传递各种复杂的消息结构(使用指向结构体的指针)。

posted on 2011-08-22 09:19  不知道  阅读(1307)  评论(0)    收藏  举报

导航