有些东西不解.

BCB_MyWork 2005-11-24 08:38:19
void __fastcall TForm1::Comm1ReceiveData(TObject *Sender, Pointer Buffer,WORD BufferLength)
{

char *chBuf = (char *)Buffer;
}


里面的char *chBuf = (char *)Buffer;是什么意思呢.就是(char *)Buffer是什么意思呀.
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
setdefault 2005-11-24
  • 打赏
  • 举报
回复
void __fastcall TForm1::Comm1ReceiveData(TObject *Sender, Pointer Buffer,WORD BufferLength)
{

char *chBuf = (char *)Buffer;
}
这行代码相当于:
char *chBuf;
chBuf = (char*) Buffer;
首先char *chBuf,定义了一个默认指向字符串的指针,
chBuf = (char*)Buffer,是将chBuf指针指向Buffer所指的位置(地址),但Buffer默认是Pointer类型,需要做类型转换。
XBox360 2005-11-24
  • 打赏
  • 举报
回复
强制转换赋值
就像
int a;
char b = char(a);//这个虽然不用显式强制转换
wohow 2005-11-24
  • 打赏
  • 举报
回复
Buffer传进函数是Pointer类型,要强制转换为char *类型才能给char *类型的变量赋值
()是C/C++中的强制转换运算符
wf2091139 2005-11-24
  • 打赏
  • 举报
回复
类型转换

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧