Cne*_*iec 1 c pointers casting
这次我开始学习指针了。我试图从这个数组中读取字节。任务快完成了,但 CLang 一直警告我,警告我不明白。这是我的代码。警告说:“函数调用参数是一个未初始化的值”
int main(void)
{
int tab[] = {67305985,134678021,202050057};
int *pp=0;
pp=tab;
char *wsk=(char*)pp;
for (int i = 0; i < 12; i++)
{
if((wsk+i)!=(void*)NULL)
printf("%d ",*(wsk+i)); // warning on this line
else
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
这些警告来自 Clang 静态分析器(或者现在他们称之为什么)。
如果我们假设它int至少有 4 个字节并且真正的代码#include <stdio.h>没有其他变化,那么这对我来说似乎是一个误报。
如果您使用的是最新版本的分析器,则可以提交 clang 错误报告。好吧 - 如果他们允许尚未拥有帐户的人提交错误报告,则可以。也许阅读此线程的其他人可以做到。
注意:准确发布您正在运行的分析器版本(这可能与您用于构建的编译器不同——某些 IDE 使用不同的编译器进行构建而不是这些内联消息)将有助于解决这个问题。