C语言assignment makes pointer from integer without a cast

这个警告的意思是将一个int整数值直接赋值给了一个指针变量。(重点是类型不一致

消除警告的方法就是明确类型转换是否是正确的,如果确实要把整数变量赋予指针变量,那么请使用强制类型转换。否则,请用相同的数据类型,这样编译器就不会显示警告。

比如: int *p = 10;   //这就会产生这个警告

                                //因为 p 是指针变量,存放的是地址。而10是一个整数常量

改成: int *p = (int *)10    //强制转换成同一类型就可以消除警告

                                        //强制类型转换,10强制转换成了一个地址

你可能感兴趣的:(疑难随笔,指针,c语言)