190155801 发表于 2018-12-14 12:30:21

帮帮忙 各位大兄弟

#include <stdio.h>

int main()
{
        int *p;
        fun(&p);
        ...
}


int fun(int **q)
{
        *q = (int *)malloc(4);
}


这里的fun函数中的*q代表的是什么?

百里狂生 发表于 2018-12-14 12:38:08

代表main函数中p的值。 main函数把指针p的地址 传给int **q 。所以 q 的值是 p 的地址。*q 就是 p 的值。
fun()函数的意思是 给 指针p 分配内存(让 p 指向分配的内存)

190155801 发表于 2018-12-14 13:46:22

百里狂生 发表于 2018-12-14 12:38
代表main函数中p的值。 main函数把指针p的地址 传给int **q 。所以 q 的值是 p 的地址。*q 就是 p 的值。
...

我知道了 谢谢
页: [1]
查看完整版本: 帮帮忙 各位大兄弟