在函数中声明的指针变量,它的值是存储在栈上的,但指向的数据可以存储在任意的内存空间中。因此,当函数返回时,指针变量本身会被销毁,但指向的数据仍然存在。在这个例子中,指针pt指向的数据是由调用函数传递进来的,也就是说,它指向的数据在调用函数中仍然存在,因此可以直接返回指针变量。

请看c语言这段代码float searchfloat pointer4 int n	float pt;	pt = pointer+n; 	return pt;为什么search函数可以直接返回pt指针这里pt不是一个局部变量的指针吗?局部变量不是分配在栈上的这里也没有用malloc函数主动分配到堆上这里为什么能够直接返回呢请给我讲解下

原文地址: https://www.cveoy.top/t/topic/faxr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录