嵌入式,malloc函数,读写flash

在申请内存的时候,有个malloc(0x8000*4),这是什么意思?麻烦说细点

函数声明编辑
全名
void *malloc(size_t size);
备注
void* 表示未确定类型的指针,void *可以指向任何类型的数据,更明确的说是指申请内存空间时还不知道用户是用这段空间来存储什么类型的数据(比如是char还是int或者...)
名称解释
malloc的全称是memory allocation,中文叫动态内存分配,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存
所以malloc(0x8000 * 4 )的意思就是说申请了(0x8000 * 4)bytes = (32 * 1024 * 4)bytes = (32 * 4 * 1024 )bytes = (128 * 1024)bytes = 128Kbyte(其中 0x8000 = 32 * 1024)。
malloc这个函数会返回一个void型的指针,这个指针指向一块128Kbyte的内存空间,在C语言里,操作这个指针就可以对这块内存进行读写操作了!
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-05
就是申请这么32K*4的内存块啊??
相似回答
大家正在搜