c - C 中可疑的指针到指针转换(面积太小)

标签 c pointers lint

uint8_t *buf;
uint16_t *ptr = (uint16_t *)buf;

我觉得上面的代码是正确的,但我收到“可疑的指针到指针转换(区域太小)”Lint 警告。有人知道如何解决这个警告吗?

最佳答案

恕我直言,根本不要转换指针。它改变了访问变量(和相应内存)的方式(表示),这是非常有问题的。

如果您必须,请改为转换

关于c - C 中可疑的指针到指针转换(面积太小),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30647312/

相关文章:

c - 线程在pthread_create之后立即执行?

c - 如何动态分配二维字符数组?

android - Lint 报告 StringBuilder 影响性能

java - 安卓 Lint。是否可以通过命令行扫描 .java 类

c - 指向变量 C 的指针值

go - 如何解决考虑预分配(prealloc)lint?

C 奇怪的函数变量赋值

c - 具有字节数组和 8 位整数的模算法 : 8bit = bytes % 8bit

c - 访问结构值,更改结构值

c - 通过 char* 指针将结构传递给 main