社区
C++ 语言
帖子详情
void*的函数和指针的问题
lswx
2005-02-11 12:44:14
void *
Malloc(int size)
{
void *ptr;
if ( (ptr = malloc(size)) == NULL)
printf("malloc error");
return(ptr);
}
-----------------------------
问题:一般什么时候用void*函数和指针,有什么优缺点?
...全文
602
20
打赏
收藏
void*的函数和指针的问题
void * Malloc(int size) { void *ptr; if ( (ptr = malloc(size)) == NULL) printf("malloc error"); return(ptr); } ----------------------------- 问题:一般什么时候用void*函数和指针,有什么优缺点?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lswx
2005-03-01
打赏
举报
回复
谢谢楼上各位回答!
nicknide
2005-03-01
打赏
举报
回复
不多说,你可以从我每一个代码文件中看到void*的存在。
在一些隐讳的地方,用void* ,确保安全。
little_paradise
2005-02-24
打赏
举报
回复
回复人: tanxingqiu(谈谈) ( ) 信誉:100 2005-02-15 23:18:00 得分: 0
一般不需要用这个东东,如果用了,那就要小心检查程序相关的美一寸肌肤了!
此话从何讲起????
疯狂低调
2005-02-23
打赏
举报
回复
感觉void*更加灵活,简直是万能指针啊!
holymoon858
2005-02-22
打赏
举报
回复
void * 我认为写成“通用指针”更好理解一些
ww425
2005-02-20
打赏
举报
回复
学习
ligang17596
2005-02-20
打赏
举报
回复
学习ing 值得关注
tanxingqiu
2005-02-15
打赏
举报
回复
一般不需要用这个东东,如果用了,那就要小心检查程序相关的美一寸肌肤了!
idau7
2005-02-13
打赏
举报
回复
void*的问题很少被整理出来哦。
davidmorre
2005-02-13
打赏
举报
回复
喔,我认为void*的作用主要还是在返回值上,毕竟用void返回后,可以指代任何类型的指针,返回后可以强制转换成需要的类型指针。一般认为它指向一个不确定大小与类型的空间。但如果需要的话,也可以用它作形参,来接受任意类型的指针。
sky911911
2005-02-13
打赏
举报
回复
应该打印出 malloc error吧 !
CodeProject-Jerry
2005-02-13
打赏
举报
回复
void * 就是LPVOID
英语好象叫 Generation Pointer
不知道错了没~~
Lethe_1
2005-02-12
打赏
举报
回复
实际上void*可以指向任和一个地址,你想总线错误就用它!!!
athena301
2005-02-12
打赏
举报
回复
被使用前都强制转换。
linkmm
2005-02-11
打赏
举报
回复
任何指针都有默认的转换为void*的方法而不需要cast.
这是void*优点之一
Squall1009
2005-02-11
打赏
举报
回复
你用void*的时候一般要把他还原成他原来的类型,其他也没什么,只不过是是它可以指向任何一个对象,说白了就是它就光代表一个地址
melonliu
2005-02-11
打赏
举报
回复
void *主要用于通用指代的情况下,从字面上看比char *含义更明确。比如Malloc并不知道需要分配内存的具体数据类型是什么,它只管分配内存然后返回一个无类型指针。使用时注意类型转换。
BuleFreezing
2005-02-11
打赏
举报
回复
void*是无类型指针,在以前没有引入void*的时候,可以用char*来代替。
void*所指向的目标编译器不知道其大小(因为不知道是什么类型,默认步进是一个byte),所以有些编译器不支持void*类型的运算,如vc,但是gcc可以。
void*具体的用法比较的少,正如它的名字一样,在不能确定类型的时候用,比如说要用c写一个能接受任何类型的堆栈什么的,可能会用到。有时候在一些比较低级的场合会用到。
妖怪
2005-02-11
打赏
举报
回复
一般在对象类型无法确定或者在操作的时候发生类型变化的时候使用VOID*指针,而VOID*的好处在于可以对指针指向对象的不确定性,能在后面强制转换来删除。
naturemickey
2005-02-11
打赏
举报
回复
我从来不用void* Malloc(int);
不过有时用void (*Malloc)(int);
《c语言深度解析》第3、4章 存储类、生命周期、作用域、链接域,
指针
与
函数
课程内容: 第3章: 存储类与auto、static、register关键字 指令、常量、变量的生命周期 ...
void
*
指针
类型 const与
指针
函数
指针
函数
调用—栈的使用过程 回调
函数
和
函数
指针
数组
指针
与
函数
传参 递归
函数
内联
函数
C++
void
*
指针
、多重
指针
void
**和
指针
大小
用
void
* 定义一个
void
类型的
指针
,它不指向任何类型的数据,意思是,
void
*
指针
“指向空类型”或“不指向确定的类型”,而不要理解为
void
*
指针
能指向“任何的类型”数据。简而言之:
void
*只提供一个地址,没有指向...
C语言--
指针
之空
指针
(
void
*)
void
*
指针
简单使用二、
指针
内存大小
指针
所占大小
void
*类型
指针
与其他类型
指针
区别基本区别取值操作与地址增长操作三、
void
*
指针
作为
函数
传参实现memset实现memset总结 前言 这篇将介绍C语言令人头疼的知识点–...
c语言
void
**类型转换,
void
*和其他
指针
的转化
将
void
*和其他类型的
指针
相互赋值不出现警告,这在c语言中是允许的。=====2====在c++中类型要求很高,不允许不同类型
指针
之间的相互赋值,
void
*
指针
例外(任何类型
指针
都可以赋值给
void
指针
,但是反之不行。也就是...
void
*
指针
一个
void
*
指针
存放着一个地址,这一点和其他
指针
类似。 不同的是,对地址中到底是什么类型的对象并不知道。因此不能直接操作
void
*
指针
所指的对象,因为不知道这个对象到底是什么类型,也就无法确定能在这个对象上做...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章