【发布时间】:2015-05-29 17:32:16
【问题描述】:
下面是我的代码:
p = (float *) malloc(sizeof(float) * n);
p1 = p; // p1 is float*
p--; // Will this result in a seg-fault?
我猜是的,因为我试图访问分配空间之外的内存。 请问有人可以确认吗?
编辑
看到霍布斯的回答后,我也忍不住问了这个。
我坚信这不会导致段错误
printf("%f",p[n]); // because n is legally allocated for p
【问题讨论】:
-
与其猜测不如试试看?
-
@JAL 你不能“尝试”未定义的行为
-
@JAL 根据定义试试看当涉及到未定义的行为并不能告诉你太多
标签: c