2 joyhu1412 JoyHu1412 于 2014.12.10 10:35 提问

关于malloc用法的一个问题

我是C初学者
用的是DevC++ 经常用malloc不需要前面的括号也就是强制类型转换编译运行也都没错 请问为什么?

2个回答

starytx
starytx   Rxr 2014.12.10 11:18

你想种块地,就向村里申请,村里批下来后给了你一个目标位置(相当于内存首地址),至于要标成“什么地”虽然不是紧要问题,但如果标清楚了也是有好处的,有些时候还是必须要说明这地的用途的

JoyHu1412
JoyHu1412 不是说不可以把void类型的指针赋给别的类型吗
3 年多之前 回复
suohaicheng
suohaicheng   2014.12.10 10:44

编译器关闭了这类的警告。

JoyHu1412
JoyHu1412 所以实际上是一定需要的 编译器自己转啦?
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
malloc,realloc,calloc的用法及区别
首先,在gcc编译器下,我们先观察一下这几个函数的功能: 由此可以看出: 函数malloc() 在内存的动态存储区中分配一块长度为size字节的连续区域,参数size为需要内存空间的长度,返回该区域的首地址; 函数calloc() 参数size为申请地址的单元元素长度,nmemb为元素个数,即在内存中申请nmemb *size字节大小的连续地址空间; 函数realloc
new与malloc 的区别和用法
new与malloc 的区别和用法 new与malloc 的区别和用法 new与malloc 的区别和用法 new与malloc 的区别和用法 new与malloc 的区别和用法 new与malloc 的区别和用法 new与malloc 的区别和用法
【那些年遇到过的面试题】malloc 原理
malloc 涉及到内存这块,所以知道原理还是非常有用的。 http://www.cnblogs.com/huhuuu/p/3456662.html http://blog.jobbole.com/75656/ 这两个帖子不错,安利 Q: 函数原型 A: void *malloc(size_t size); 备注:void* 表示未确定
一个关于malloc的面试题
发表于1年前(2014-04-04 13:31)   阅读(176) | 评论(0) 9人收藏此文章, 我要收藏 赞0 慕课网,程序员升职加薪神器,点击免费学习 前两天看了一个关于malloc的面试题,题目是这样的: ? 1 2 3 4 5 6 7 8 9 10 11 void GetMemory(c
下面有关malloc和new,说法错误的是?
下面有关malloc和new,说法错误的是?  正确答案: C   你的答案: 空 (错误) new 建立的是一个对象, malloc分配的是一块内存. new 初始化对象,调用对象的构造函数,对应的delete调用相应的析构函数,malloc仅仅分配内存,free仅仅回收内存 new和malloc都是保留字,不需要头文件支持 new和ma
malloc函数用法
1、函数声明 void *malloc(int size); 说明:malloc向系统申请分配size字节的内存空间,返回类型为void*类型。 2、使用 int *p; p = (int *)malloc( sizeof(int) ); 注意: (1)因为malloc返回的是不确定类型的指针,所以返回之前必须经过类型强制转换,否则编译报错,如:“ 不能将void*赋值给int*变量
使用malloc动态定义数组
在使用数组时,需要事先确定数组的大小。         因为要求int array[n]括号里的n必须为常量,于是天真的认为在定义n的时候写上一个const int n就可以解决问题了,经过尝试失败。         上网一搜,有很多方法,比如使用结构,使用链表等。         下面给出一种简单的方法,使用malloc函数。 int n; double* shuzu = (double
关于C语言的malloc函数以及内存泄漏的问题
malloc函数 malloc函数的原型: (void *)malloc(int size)  malloc函数的返回值是一个void类型的指针,参数为int类型的数据,即申请分配的内存大小,单位是字节。内存分配成功之后,malloc函数返回这块内存的首地址,你需要一个指针来接受这个地址。但是由于函数的返回值是void *类型,所以必须强制转换成你所接收的类型。也就是说这块内存将来要用来
C语言 有关内存的思考题
1.void GetMemory(char *p) { p = (char *)malloc(100); } void Test(void) { char *str=NULL; GetMemory(str); strcpy(str,"Hello World"); printf(str); }请问运行Test函数会有什么样的结果? 程序编译可以通过,
内存管理(malloc和free用法)
在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用—— 就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以 写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助!