When a value is assigned to any pointer variable, then compiler will automatically try to convert given value in pointer type, such automatic type conversion is known as Non-portable pointer conversion.
Non-portable pointer conversion is not cause of any compilation error but it is bad coding style. Hence compiler will generate a warning message.
int *p, a=1010;
p=3223; // Non-portable pointer conversion
p=a; // Non-portable pointer conversion
Here, p=a assigns the value of a as the pointer variable instead of the value to be stored at address p and same with p=3223, it assigns 3223 as address of pointer type to p, instead of the value to be stored at p. So, a warning message is generated as
warning: assignment makes pointer from integer without a cast