今天在敲代码的时候,在一个函数中定义了局部数组变量,并在return的时候返回了这个局部数组变量的地址,于是乎出现warning:
这是个蛮愚蠢的错误,我把局部变量的地址作为返回,但是局部数组变量是位于stack区的,函数结束后这个地址中的数据将失去意义; 这种情况怎么办呢,可以被局部变量数组添加static即可;
我们平时经常会在函数中定义变量并返回这个变量,但注意,返回的是这个变量的值!
那么这个值是存放在哪里的呢?
C语言的机制是将return的值存放在eax寄存器中,系统再将eax存放的值再传给接收者;
错误:address of stack memory associated with local variable ‘res‘ returned
最新推荐文章于 2023-03-02 00:10:13 发布