Java中有等于C的*(unsigned int *)(char)= 123吗?

达齐克

我正在处理一些C源代码,我试图将其转换为Javascript,但在这一行遇到了麻烦

char ddata[512];
*(unsigned int*)(ddata+0)=123;
*(unsigned int*)(ddata+4)=add-8;
memset(ddata+8,0,add-8);

我不确定这里到底发生了什么,我知道他们正在将char转换为一个未签名的int,但是ddata+0在这里做什么是什么?谢谢。

拔示巴

你不能说

这是因为在铸造的行为char*unsigned*不确定的 ,除非指针开始作为一个unsigned*,它在你的情况并非如此。

ddata + 0等价于ddata

ddata + 4等价于&ddata[4],即数组第5个元素的地址。

对于它的价值,看起来C程序员正在尝试将几个unsigned文字序列化为字节数组。但是代码很乱。除了我已经说过的内容外,他们似乎还假设aunsigned占用了4个字节,而事实并非一定如此。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java char也是int吗?

来自分类Dev

std :: vector <int,std :: allocator <char>>有效吗?

来自分类Dev

C++ char* 与 int*

来自分类Dev

目标C的unsigned char为负int

来自分类Dev

目标C的unsigned char为负数int

来自分类Dev

double到unsigned int / char

来自分类Dev

从`int`转换为`unsigned char`

来自分类Dev

`int main(int argc,char * argv <::>)`是main的有效签名吗?

来自分类Dev

我可以将unsigned char *强制转换为unsigned int *吗?

来自分类Dev

C ++ int main(int argc,char * argv [])-argv是ac样式数组吗?

来自分类Dev

如何在C中将unsigned char *转换为unsigned int *?

来自分类Dev

memcpy 从 unsigned char * 到 unsigned int

来自分类Dev

从Char到Int的转换Java

来自分类Dev

Java-char,int转换

来自分类Dev

将带符号的char转换为C中的unsigned int

来自分类Dev

将带符号的char转换为C中的unsigned int

来自分类Dev

Coverity 静态分析说 Unsigned Int 是 Char (C++)

来自分类Dev

在C ++中命名int或char变量时,“ n”或“ ch”前缀是通用前缀吗?

来自分类Dev

迭代 char* 错误没有从 char* 转换为 int

来自分类Dev

在C#中从char int直接转换为char

来自分类Dev

为什么在C语言中(char)+(char)=(int)?

来自分类Dev

C如何在char数组中解析int和char?

来自分类Dev

返回带有int的char的方法

来自分类Dev

在Java中将int转换为数组char

来自分类Dev

Java从int转换为char代理奇怪

来自分类Dev

Java:将char数组转换为int

来自分类Dev

JAVA将int解析为char

来自分类Dev

在C ++中将char数组转换为int

来自分类Dev

在C中将int转换为char?