int *p1=malloc(4); int *p2=malloc(4); printf("p2-p1=%d\n",p2-p1);(p2-p1)的值与malloc(size)的size有什么关系,还有跟p1,p2的类型有什么关系,为什么会是这样地呢?请高手指点迷津!

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 20:00:53
int *p1=malloc(4); int *p2=malloc(4); printf(

int *p1=malloc(4); int *p2=malloc(4); printf("p2-p1=%d\n",p2-p1);(p2-p1)的值与malloc(size)的size有什么关系,还有跟p1,p2的类型有什么关系,为什么会是这样地呢?请高手指点迷津!
int *p1=malloc(4); int *p2=malloc(4); printf("p2-p1=%d\n",p2-p1);
(p2-p1)的值与malloc(size)的size有什么关系,还有跟p1,p2的类型有什么关系,为什么会是这样地呢?请高手指点迷津!

int *p1=malloc(4); int *p2=malloc(4); printf("p2-p1=%d\n",p2-p1);(p2-p1)的值与malloc(size)的size有什么关系,还有跟p1,p2的类型有什么关系,为什么会是这样地呢?请高手指点迷津!
1 (p2-p1)的值与malloc(size)的size没有关系,跟p1,p2的类型也没有关系;
2 *p1=malloc(4); 表示由操作系统分配四个整型存储单元,并将分配到的四个单元的首地址赋给p,这个值由操作系统管理,因此p2-p1的值是不确定的.