#include <stdio.h>
#include <string.h>
int main() {
char* p = new char[10];
memset(p,0,10);
printf("%c",*p);
}
Run Code Online (Sandbox Code Playgroud)
我想memset设置开始每个字节p来0.看到什么都没打印出来,我有点惊讶.究竟发生了memset什么?
memset将所有字节设置为0; 因此,当你取消引用时p,你得到一个char值为0(NUL字节),并且在大多数系统上,打印这样的a char不会产生可见的输出.如果要打印字节的数值,请使用printf("%d", *p);.