c语言 malloc疑问
混少年 2014-01-22 09:41:47 比如下面一段代码:
char *name=(char *)malloc(2*sizeof(char));
strcpy(name,"binjing");
printf("name=%s",name);
输出:name=binjing
有一点疑问
char *name=(char *)malloc(2*sizeof(char));
这段执行的时候,分配了两个字节的内存空间,此时name为这段内存空间的首地址
strcpy(name,"binjing");
这段执行的时候,把"binjing"复制给了这段内存空间,但是内存空间一开始只分配了2个字节,这样为什么不会导致”溢出“?