热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c/c++开发分享malloc分配的指针大小

char*pointer;pointermalloc(20000);printf(%d,sizeof(pointer));output:8因为我使用malloc预留了20000
char* pointer; pointer = malloc (20000); printf("%d", sizeof(pointer)); //output: 8 

因为我使用malloc预留了20000个字节,所以我期待输出20000。 但是,它返回8.为什么会发生这种情况?

    你必须使用64位系统/操作系统,这就是为什么它为printf打印8(“%d”,sizeof(指针));

    当你宣布char * p; 它将在你的记忆中保留等于sizeof(char *)的空间。

    现在,如果系统是64位,它将保留8个字节,或者如果它是32位,那么它将保留4个字节。

    现在

     char* pointer; pointer = malloc (20000); 

    当你定义pointer = malloc(20000)时,它将在内存中保留一个20000字节的块,其中指针指向该块的第一个字节,它不会向指针分配20000个字节。

    sizeof返回传递给它的类型的大小。
    类型是char * ,它只指向大小为20000的内存位置。

    sizeof是一个编译sizeof算符。 它只知道指针的大小(这里是8个字节),而不是它指向的大小。 sizeof在运行时不存在。

    sizeof给出指针变量的大小,而不是它指向的区域的大小。

      以上就是c/c++开发分享malloc分配的指针大小相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(编程笔记)。


      推荐阅读
      • 深入理解 SQL 视图、存储过程与事务
        本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
      • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
      • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
      • 利用存储过程构建年度日历表的详细指南
        本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
      • 优化ListView性能
        本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
      • PyCharm中配置Pylint静态代码分析工具
        本文详细介绍如何在PyCharm中配置和使用Pylint,帮助开发者进行静态代码检查,确保代码符合PEP8规范,提高代码质量。 ... [详细]
      • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
      • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
      • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
      • Java 中 Writer flush()方法,示例 ... [详细]
      • 技术分享:从动态网站提取站点密钥的解决方案
        本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
      • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
      • 数据库内核开发入门 | 搭建研发环境的初步指南
        本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
      • 解决PHP与MySQL连接时出现500错误的方法
        本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
      • CMake跨平台开发实践
        本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
      author-avatar
      是个success
      这个家伙很懒,什么也没留下!
      PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
      Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有