在函数中创建的变量的寿命

时间:2014-07-24 20:22:20

标签: c++ function variables pointers

据我所知,只要某些代码块或函数存在,就会存在堆栈上创建的变量,但是当我在函数(function1)中创建整数变量并将指针传递给另一个函数(function2)时,指针仍然指向创建的变量在第一个函数(function1)中。那么整数变量(例子中的“b”)存在多长时间?我可能错过了一些重要知识,所以有人可以向我解释一下吗?

#include <iostream>

int* function1(){
   int b=30;
   int *w=&b;

   return w; 
}

void function2(int* p){

   std::cout<< *p << std::endl;

}

int main(){

   int *w1;

   w1 = function1();


   function2(w1);


   return 0;
}

0 个答案:

没有答案