extern void *malloc(unsigned int); 为什么报错

查看:117
本文介绍了extern void *malloc(unsigned int); 为什么报错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

extern void malloc(unsigned int); 为什么报错,但是extern void malloc();这样就可以编译通过,
原型中malloc的参数就是unsigned int 的类型呀

解决方案

malloc()的参数并不是unsigned int而是size_t
size_tunsigned int并不是一样的,size_t可能是 unsigned int, unsigned char, unsigned long 等,compiler会根据实参选择用哪种unsigned类型。
参考这两个stackoverflow的回答:
Difference between size_t and unsigned int?
unsigned int vs. size_t

这篇关于extern void *malloc(unsigned int); 为什么报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆