【发布时间】:2013-02-23 10:26:50
【问题描述】:
下面是sn-p的代码:
int main(void) {
char sizing[] = "manshcanshcnams cndhan sndhcna snshans";
char *xyz = malloc(sizeof(char));
printf("%ld\n",sizeof(xyz));
xyz = sizing; // IT SHOULD FAIL HERE
printf("Fail %s\n",xyz );
return 0;
}
如您所见,我正在尝试为 xyz 分配更多内存,而不是它可以容纳的内存。但输出不会失败。这是未定义的行为吗?
【问题讨论】:
标签: c memory-management malloc