社区
C语言
帖子详情
能否把一个指向void*的指针赋值给一个指向unsigned char*型的指针
Gaojian_10
2002-02-06 10:30:19
vc说不行,怎么实现。
...全文
584
20
打赏
收藏
能否把一个指向void*的指针赋值给一个指向unsigned char*型的指针
vc说不行,怎么实现。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
WarFather
2002-02-21
打赏
举报
回复
天啊!为什么要这样做??我敢肯定你的源程序一定很让人头痛.
yang751124
2002-02-21
打赏
举报
回复
Mandatorily Converted Is Possible!
wcxiang
2002-02-19
打赏
举报
回复
ok
bbdog
2002-02-18
打赏
举报
回复
AeoLusFeng(亦风)的回答好象是Thinking in C++中的原话呀^_^
LLnju
2002-02-18
打赏
举报
回复
C++ 中用 reinterpret_cast
void* foo = static_cast<void*>("123123123123123");
unsigned char* newType = reinterpret_cast<unsigned char*>(foo);
fly_dream0323
2002-02-16
打赏
举报
回复
强制转换 记得在C中的malloc()和free()函数的原型吗?它返回的是void *,我们用得时候把它强制转换成要的指针呀。
7zkeeper
2002-02-14
打赏
举报
回复
为什么不行,天天在用的
makefile
2002-02-10
打赏
举报
回复
我一般这么写程序
strncpy((char *)memset(buf,0,sizeof buf),p,20);
memset的返回就是void的类型的。
tsbob
2002-02-09
打赏
举报
回复
C不允许随便的把一个类型的指针指派给另一个类型,但可以通过void*实现。
在C中是不能随意赋值的,否则会数值溢出
什么话,指针就是一个unsigned int,强制转换都可以
linying_1116
2002-02-09
打赏
举报
回复
在C中是不能随意赋值的,否则会数值溢出
birdinfly
2002-02-08
打赏
举报
回复
当然可以,强制转换就可以了.
AeoLusFeng
2002-02-08
打赏
举报
回复
C不允许随便的把一个类型的指针指派给另一个类型,但可以通过void*实现。
c++不允许这样做,起编译器将会给出一个错误信息。如果真的想这样做,必须显示的使用映射。
swf123
2002-02-08
打赏
举报
回复
任何指针在Win32都是32位的长整形,是内存中的一个地址.
当然可以相互转换.
T *p ;(T 为任何类型)
void *pvoid = (void*) p ;
p = (T*) pvoid;(要事先知道pvoid 是T*)
golden_alvin
2002-02-07
打赏
举报
回复
强制转换呀,C++这个东西比C稍微麻烦一点,不过为了提高可靠性嘛
netty
2002-02-07
打赏
举报
回复
强制转换可以的
fixopen
2002-02-07
打赏
举报
回复
可以,c中自动转换,c++手动转换
Dinosaurwx
2002-02-07
打赏
举报
回复
要强制转换:
void* pvoid;
unsigned char* psz;
psz = (unsigned char*)pvoid;
Gaojian_10
2002-02-06
打赏
举报
回复
Thanks 呵呵。我原来也经常用的的强制转化的,怎么今个没想到。靠。
echolover
2002-02-06
打赏
举报
回复
在c++中是不可以的。c中好象可以。
taotaoer
2002-02-06
打赏
举报
回复
不能赋。因为:void指针是最大的。只能将其它类型的指针赋给void,而不能将void赋给其它类型的指针。
c语言中
char
* 和
unsigned
char
* 的区别浅析
背景最近在项目中遇到了
一个
编译警告,是因为定义的变量为
char
[],而在使用时作为函数的
unsigned
char
*类
型
的参数调用。这个警告很容易避免,但是
char
*和
unsigned
char
*到底有什么区别呢,本文作
一个
简单的探讨。
char
和
unsigned
char
的区别在C中,默认的基础数据类
型
均为signed,如定义变量为int,long等,都为有符号的。如果要定义无符号类
型
,必须显
C语言--
指针
之空
指针
(
void
*)
文章目录前言一、
void
*
指针
是什么?
void
*
指针
简单使用二、
指针
内存大小
指针
所占大小
void
*类
型
指针
与其他类
型
指针
区别基本区别取值操作与地址增长操作三、
void
*
指针
作为函数传参实现memset实现memset总结 前言 这篇将介绍C语言令人头疼的知识点–
指针
。介绍
void
*这个特别的
指针
,介绍
指针
内存分配、
指针
作为函数传参改怎么使用以及为什么不能直接对
void
*
指针
做一些操作。 一、
void
*
指针
是什么? C语言中,一共有几种
指针
类
型
,其中最特别的就是
void
*
指针
。
void
*指
关于const
char
*和
char
*、const
char
** 和
char
**
赋值
问题
根据ANSI C标准的
赋值
约束条件: 1. 两个操作数都是
指向
有限定符或无限定符的相容类
型
的
指针
。 2. 左边
指针
所
指向
的类
型
必须具有右边
指针
所
指向
类
型
的全部限定符。 一、const
char
*和
char
* const
char
*的类
型
是:“
指向
一个
具有const限定符的
char
类
型
的
指针
”。(不能修改其值)
char
*的类
型
是:“
指向
一个
char
类
型
的指
int
型
,
char
型
,
void
型
指针
的区别
深信服的面试官问了这个问题,也不说清楚是哪方面的区别,哎,可能凉凉,下面说一下这个东西。 首先,int*和
char
*是可以++操作的,
void
*不可以
void
*没有类
型
,也就不存在sizeof()。 int*和
char
*可以进行++操作,int*的操作是向后移动4个字节的位置,
char
是
一个
字节。
void
*,cout<<*
void
<<endl是不正确的,输出vo...
linux下
char
指针
赋值
,二维
char
**
指针
用法
在linux下编程时会发现main的控制台输入命令行参数写法有两种int main(int argc,
char
*argv[])int main(int argc,
char
**argv)控制台可以方便地在终端中输入参数对程序进行控制,这在Java和linux内核的ioctl中也有相似的体现。其中,argc是命令行总的参数个数,argv[]存储argc个对应的参数,其中第0个参数是程序的全名,第1、2...
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章