直接上代码
输出结果为:
懵逼的原因:
背景为静态变量当然是不能跨函数调用的啊,因为静态变量的内存在函数执行完就释放了啊,除非这个变量在主函数内。
那么再看上面的程序
f 函数形参为二重指针,这里将 指针变量 p 的地址发送给该函数,然后将 f 函数中的整形变量 i 的地址赋给了 p ,f 函数调用完成后,i 的内存空间也给释放掉了,但是输出 *p 依然能够输出,我很疑惑。
带着这种疑惑我又写了个程序
这里我将 f 函数的形参写成了 一维指针,此时将指针变量传递给形参,编译没有错,输出有错误,结果如下
上网查了一下这个错误