小编woo*_*iap的帖子

我可以使用比使用malloc()分配的内存更多的内存,为什么?

char *cp = (char *) malloc(1);
strcpy(cp, "123456789");
puts(cp);
Run Code Online (Sandbox Code Playgroud)

gcc(Linux)和Visual C++ Express上的输出是"123456789",这是否意味着当有空闲内存时,我实际上可以使用比我分配的内容更多的内容malloc()

为什么malloc(0)不导致运行时错误?

谢谢.

c

34
推荐指数
3
解决办法
7422
查看次数

为什么我们需要建议一个变量存储在寄存器中?

据我所知,在C中,我们可以使用关键字"register"向编译器建议变量应该存储在CPU寄存器中.CPU指令中涉及的所有变量最终都会存储在CPU寄存器中以供执行,这不是真的吗?

c

2
推荐指数
1
解决办法
308
查看次数

标签 统计

c ×2