为什么C语言函数中可以返回局部变量而不能返回局部变量的指针?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 04:31:53
为什么C语言函数中可以返回局部变量而不能返回局部变量的指针?

为什么C语言函数中可以返回局部变量而不能返回局部变量的指针?
为什么C语言函数中可以返回局部变量而不能返回局部变量的指针?

为什么C语言函数中可以返回局部变量而不能返回局部变量的指针?
这个从函数调用是堆栈的变化说吧,函数调用的时候,系统会将函数的返回地址、参数压入系统栈中,然后跳转到函数的代码区开始执行你函数里面写的代码,这个时候,子函数才会去向系统申请堆空间存放你在这个函数中定义的变量,这些空间(变量)是有生命周期的,到这个子函数执行完毕,它的生命周期就结束了,申请的堆空间就会被释放,这个时候你指向它的指针当然是无效的;而可以返回局部变量的原因是,你子函数的返回值(子函数局部变量),会被当作父函数的局部变量处理,它在堆中可以存放至父函数执行完毕,所以它是有效的.

为什么C语言函数中可以返回局部变量而不能返回局部变量的指针? 关于c语言的函数 有下列几种说法 问有几种说法正确.1,函数中定义的局部变量不能与该函数的形式参数相同2,一次函数调用最多返回一个结果值3,函数原型的作用是告诉编译器函数返回的数据 不能实现函数之间数据传递的是A. 全局变量 B. 局部变量 C. 函数接口 D. 函数返回值 C 语言中全局变量、局部变量、函数参数个是在什么时候分配内存空间 C语言中局部变量和全局变量的生存日期分别为什么 有关C语言的说法,不正确的是:A.在不同的函数中可以使用相同名字的变量.B.形式参数是局部变量.C.在函数内定义的变量只在本函数范围内有效.D.在函数内的复合语句中定义的变量在本函数范 C语言求救:外部变量和函数体内的局部变量同名时,局部变量优先.举例解释下,谢ing (C语言)以下叙述中不正确的是A)一个变量的作用域开始位置完全取决于变量定义语句的位置B) 全局变量可以在函数以外的任何部位进行定义C) 局部变量的“生存期”只限于本次函数调用, C语言中如何调用函数求最大公约数和最小公倍数分别用定义全局变量和局部变量求.希望带程序详细讲解 请问C语言中,对变量定义的数据类型都可以用于对函数定义吗? 当函数局部变量用static修饰时,函数的返回值有可能发生不可预测? C言语中函数定义的形式参数变量为什么不能在定义 C语言,全局变量和局部变量有什么区别麻烦讲讲,顺便讲讲当什么情况下定义成全局变量好,什么情况下定义成局部变量好.为什么 在C语言中,在一个子函数中定义的static型变量可以应用在其他函数中么? 12)下列说法中不正确的是( )A.C语言规定,不能在一个函数的内部再定义函数B.在没有声明函数返回值的情况下,默认函数返回值类型为int型C.函数的类型可以是整型、实型、字符型,但不能是 C语言中,一个子函数返回多个变量应该怎么写? 简述静态局部变量和自动变量的区别,并举例说明 C语言的 11)下列说法中错误的是( ) A.在不同的函数中可以使用相同名字的变量 B.函数中的形参是局部变量 C.在一个11)下列说法中错误的是( )A.在不同的函数中可以使用相同名字的变量B.函数中的