程序语句:<br />#include <string.h><br />1 unsigned char volatile tempBuf[10];<br />2 memset(tempBuf, 0x0, sizeof(tempBuf));<br />用GCC编译器编译,会产生如下警告:<br />passing argument 1 of 'memset' discards qualifiers form pointer targe type;<br />把第1句中的volatile去掉或第二句tempBuf前加强制类型转换(unsigned char *),警告消失.<br />难道第1句中用volatile后tempBuf的类型变了,不是指针类型了?<br />而用C51编译器不会有任何警告. |