图中这个p=i报错,怎么理解这个,这个p=i是不是跟int P中的P没有关系还是怎么说
你的代码中,p是一个指向int的指针。在使用*p赋值之前,p并没有指向任何有效的内存空间。当你试图访问这个无效内存空间时,就会出现报错。
p = malloc(sizeof(int));
*p = i;
或者
p = new int;
*p = i;
int *p定义了指针p, * p=i是错误的,一边是指针一边是整型变量
p = &i;是把i的地址给p, 这样是正确的写法
p没有分配内存
p没分配空间,当然是错了。改成p=&i
楼上说的对,p没分配空间,当然是错了。改成p=&i
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!