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

探究malloc函数使用时是否需要进行强制类型转换及其潜在影响

在ANSIISO标准C引入void*一般指针类型之前,这种类型转换通常用于在不兼容指针类型赋值时消除警告(或许也可能导致转换)。在ANSIISO标准C下,这些转换不再需要,而起事实

在 ANSI/ISO 标准 C 引入 void * 一般指针类型之前, 这种类型转换通常用于在不兼容指针类型赋值时消除警告 (或许也可能导致转换)。

在 ANSI/ISO 标准 C 下, 这些转换不再需要,而起事实上现代的实践也不鼓励 这样做,因为它们可能掩盖 malloc() 声明错误时产生的重要警告。 (但是, 因为这样那样的原因, 为求与 C++ 兼容,C 程序中 常常能见到这样的转换。 在 C++ 中从 void* 的明确转换是必须的。)

其中重要的是你是否添加了#include .而不是进行了强制转换.因为编译器在编译的时候知道类型格式。

C里面从void *到其它类型的指针是自动转换的。
参考:https://www.cnblogs.com/esta-pessoa/archive/2013/04/29/3051119.html

转:https://blog.51cto.com/6979778/2119908



推荐阅读
author-avatar
isme7
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有