C Linux 警告 : assignment makes integer from pointer without a cast

标签 c linux casting warnings

我有一个具有以下代码的 C linux 函数:

void A (char *s1, char *s2)
{
...
*s2 = NULL;
...
}

在这个函数中,我将值放入 s2,最后放入 NULL。

代码:

*s2 = NULL

生成以下警告: 赋值从指针生成整数而不进行强制转换

我想修复我的代码,我该怎么做?

谢谢

最佳答案

您的系统似乎将 NULL 定义为类似于 (void *)0 的内容。这意味着您的作业正按照警告所说的进行操作——从一个没有强制转换的指针生成一个整数。您不想将 NULL 放入 char 变量中 - 您可能正在寻找:

*s2 = '\0';

关于C Linux 警告 : assignment makes integer from pointer without a cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8113700/

相关文章:

c++ - 理解c++代码; *datatype 和 classname::method 是什么意思?

windows - 如何在 Linux 中使用 POSIX 方法从文件中读取 Unicode-16 字符串?

linux - 无法打开特定的 Linux Fedora 端口以允许其他计算机通过浏览器进行访问?

linux - C语言连接邮件服务器的方法

c# - null 和 (type)null 有什么区别?

types - Haxe lua.Table<字符串,整数> : String should be Int

c++ - 为什么将 int 转换为 bool 会发出警告?

c - 收到的 UDP 数据包是否在 LwIP 堆栈中排队?

c - 使用 fork、execvp 传输两个命令,然后将输出重定向到套接字

c - #Define 带参数的整个函数调用?