如……
If (this == thisThingOverHere)ThisThing = *((WORD *) &Array[withThisposition]);
您可以假设WORD是16位无符号,而Array是8位字节数组.
很难尝试找出这里发生的事情.
干杯
解决方法 弄清楚正在发生的事情并不困难.让我们分解吧.&Array[withThisposition]
这表示使用Array中的Thisposition元素的地址.相当于Array withThisposition.
(WORD *)
假设由& Array [withThisposition]返回的指针实际上是指向WORD的指针.这称为“强制转换”,因为您告诉编译器将对象与最初的Array类型区别对待.
最后:
*(...)
这表示返回指向的对象.因此返回指向对象内的WORD.
如果我要为你改写这个,我可能会建议:
If (this == thisThingOverHere) { voID *pointerToArrayELement; WORD *pointerToWORD; WORD result; pointerToArrayElement = &Array[withThisposition]; pointerToWORD = (WORD *)pointerToArrayElement; result = *pointerToWORD; ThisThing = result;}总结
以上是内存溢出为你收集整理的什么是C表达开头的*的重要性?全部内容,希望文章能够帮你解决什么是C表达开头的*的重要性?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)