当前位置:   article > 正文

指针变量占用的内存空间大小说明_指针占用内存大小

指针占用内存大小

指针变量占用的内存空间大小根据所使用的操作系统及编译环境而定,指针类型占用的字节数是不同的。

一般而言:

16位机器的代码时,指针占2个字节

32位机器的代码时,指针占4个字节

64位机器的代码时,指针占8个字节

对于一个具体的测试环境,可以用下面的语句精确的知道指针类型占用的字节数:

printf( " %d\n " ,  sizeof(int *) ) ;

测试环境:Ubuntu 64位

查看系统的版本为Ubuntu18.04 64位

  1. struct TRef
  2. {
  3. char* before;
  4. char* after;
  5. };
  6. int main()
  7. {
  8. struct TRef r ;
  9. printf("sizeof(int) = %d\n", sizeof(int));
  10. printf("sizeof(r) = %d\n", sizeof( r ) );
  11. printf("sizeof(r.before) = %d\n", sizeof(r.before));
  12. printf("sizeof(r.after) = %d\n", sizeof(r.after));
  13. printf("&r.before = %p\n", &r.before);
  14. printf("&r.after = %p\n", &r.after);
  15. return 0;
  16. }

运行结果:

可见指针变量在64位机器中是占用8个字节的内存空间大小的

同样的程序运行于32位机器时,测试环境windows下Qt creater32位环境下:

在网上看到还有这种言论,真是误人子弟

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/259519
推荐阅读
相关标签
  

闽ICP备14008679号