函数如何执行的问题和malloc执行赋值的过程
来源:7-7 动态内存分配【突破面试高频考点】

宝慕林0551093
2021-12-27
1.下图, points的值是0x000000, &points=0x7ff7bfeff6d0
2.进入函数initMalloc后,int **p接收传入参数,那么应该是p=0x7ff7bfeff6d0, 之后再按照我的理解*p应该是0x7ff7bfeff6d0这块内存存放的值=0x000000
3.那应该是对0x000000这块内存进行动态分配, 那为什么下图是对0x7ff7bfeff6d0这块内存发生了变化?
4.还想问一下malloc执行的过程是什么样的?比如*p=malloc()是先开辟一块儿内存然后将地址赋给指针变量p吗?
写回答
1回答
-
bennyhuo
2021-12-27
我先回答4,你再考虑下前面的
*p = malloc(...)
是malloc开辟内存,然后把地址赋值给p指向的内存,也就是*p,而不是赋值给p。
00
相似问题