C memset警告
这是我的警告.
warning: passing argument 2 of ‘memset’ makes integer from pointer without a cast 然后我改变如下(使NULL为0) Before Change : memset(key,NULL,KEY_BYTES); After Change : memset(key,KEY_BYTES); 警告已删除. 我正在使用linux& gcc编译器,C. 这是正确的行动吗? 解决方法
根据实现,C标准库有时将NULL定义为零整数(这将避免您看到的警告),但有时将NULL定义为零转换为void指针.后一种实现会导致您看到的警告.
要回答您的具体问题,在这种情况下您不应该使用NULL.无论实现如何,NULL都旨在用作空指针,而不是整数零的同义词.如果要使用memset用零填充内存块,则将零作为第二个参数传递,而不是NULL. 引自http://en.wikipedia.org/wiki/Stdlib.h:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |