arning: assignment from incompatible pointer type
时间: 2024-02-25 13:55:48 浏览: 100
深入学习C语言中memset()函数的用法
5星 · 资源好评率100%
这个警告通常是因为尝试将不兼容的指针类型赋值给变量。这通常会导致程序在运行时出现错误。
比如说,下面这段代码就会出现这个警告:
```
int *p;
char *q = "hello";
p = q;
```
因为变量 `p` 是一个 `int` 类型的指针,而变量 `q` 是一个 `char` 类型的指针,它们的类型不同。正确的写法应该是将 `q` 指向的字符串转换成 `int` 类型的指针,例如:
```
int *p;
char *q = "hello";
p = (int*)q;
```
不过需要注意的是,这种类型转换可能会导致一些难以预测的行为。如果不确定这样做是否安全,最好避免这种类型转换。
阅读全文