返回值为指针的函数怎么理解(函数返回指针)

:暂无数据 2026-07-31 00:00:01 :0

返回值为指针的函数怎么理解(函数返回指针)

大家好,如果您还对返回值为指针的函数怎么理解不太了解,没有关系,今天就由本站为大家分享返回值为指针的函数怎么理解的知识,包括函数返回指针的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

函数返回指针

您的后一个例子中,虽然str是在动态变量区,而该动态变量是局部的,函数结束时不保留的。
但是,字符串"hello"不是变量,而是一个常量,编译程序在处理这种常量时,通常把它放在了常量区中。而常量区则是始终存在的。
后一个例子中函数fun的返回值就是一个指向这种常量区的指针。
函数返回指针,要使主程序可以使用这个指针来访问有意义的数据,关键就是要保证在使用这个指针值的时候,该指针所指向的地方的数据仍然有意义。
除了您所说的:用静态区以及用malloc这样的方法外,还有就是第二个例子里的:用常量区。再另外,还可以用全局变量,也就是说返回的指针是指向全局变量的。
还有,如果指针是指向函数的指针,那么这个指针就是指向程序代码区的。这也是一种应用的情况。
另外,如果明白了它的原理,程序员还可以发明出一些其他灵活的使用方法,当然,那都属于“怪”方法,一般不提倡的。
【总结】
常规程序中,函数返回的指针通常应该是:
(1)指向静态(static)变量;
(2)指向专门申请分配的(如用malloc)空间;
(3)指向常量区(如指向字符串"hello");
(4)指向全局变量;
(5)指向程序代码区(如指向函数的指针)。
除这5项以外,其它怪技巧不提倡。

返回指针的函数的问题

假设函数的返回值是一个指向整形变量的指针,而且它指向的变量是在函数内部声明的,函数调用结束了,该变量的内存也应被撤销了,那么返回这个指针还有什么意义吗?
没有意义。该指针将指向一块含非意料内内容的内存空间,使用该指针将导致非法内存引用。
-----
还是这种情况对变量的生存期来说是个例外?
不是例外。如果在函数返回值是函数的内部变量,那么实际操作的时候,编译器会将该变量的一个副本返回给调用者,使用时没有问题。而如果是指针被返回的话,如前所述,使用时将会导致非法内存引用。
-------
引用野指针会出现错误吗?
显然会。
--------
new出来的或者malloc出来的为什么都需要人工撤销?
动态分配的内存空间在堆中。
而且C和C++中所谓的动态内存分配机制是这么规定的,C/C++本身将不对new和malloc出来的空间负责回收,因此为了防止内存泄露,回收工作必须由程序员自行完成。

返回指向这个字符的指针是什么意思

就是说返回值是个指针类型的,而这个指针指向字符。
一般来说出现这种情况多半是应为调用了函数,而函数的返回值是指针,如果要将指针输出,就可以在主函数中声明一个相同类型的指针,然后将返回的指针赋给它,然后输出该指针就可以了

以上就是我们为大家找到的有关“返回值为指针的函数怎么理解(函数返回指针)”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。

返回值为指针的函数怎么理解(函数返回指针)

本文编辑:admin

本文相关文章:


sumifs求和为0的原因(excel sumifs函数计算结果为0为什么)

sumifs求和为0的原因(excel sumifs函数计算结果为0为什么)

其实sumifs求和为0的原因的问题并不复杂,但是又很多的朋友都不太了解excel sumifs函数计算结果为0为什么,因此呢,今天小编就来为大家分享sumifs求和为0的原因的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析

2026年10月3日 20:40

median(median函数什么意思)

median(median函数什么意思)

大家好,如果您还对median不太了解,没有关系,今天就由本站为大家分享median的知识,包括median函数什么意思的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年9月11日 06:00

sumifs函数的意思(sumifs函数是什么意思)

sumifs函数的意思(sumifs函数是什么意思)

大家好,如果您还对sumifs函数的意思不太了解,没有关系,今天就由本站为大家分享sumifs函数的意思的知识,包括sumifs函数是什么意思的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月8日 20:50

matlablength函数用法(matlab中不用size等嵌入函数(如:length,rows,columns),怎么算出一个矩阵有几行几列)

matlablength函数用法(matlab中不用size等嵌入函数(如:length,rows,columns),怎么算出一个矩阵有几行几列)

大家好,matlablength函数用法相信很多的网友都不是很明白,包括matlab中不用size等嵌入函数(如:length,rows,columns),怎么算出一个矩阵有几行几列也是一样,不过没有关系,接下来就来为大家分享关于matla

2026年10月1日 01:40

oracle函数有哪些(oracle中的分组函数有哪些,具体怎么用)

oracle函数有哪些(oracle中的分组函数有哪些,具体怎么用)

大家好,今天小编来为大家解答以下的问题,关于oracle函数有哪些,oracle中的分组函数有哪些,具体怎么用这个很多人还不知道,现在让我们一起来看看吧!

2026年9月23日 04:30

if函数怎么用大于小于(if函数大于小于区间是什么)

if函数怎么用大于小于(if函数大于小于区间是什么)

各位老铁们,大家好,今天由我来为大家分享if函数怎么用大于小于,以及if函数大于小于区间是什么的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年9月19日 04:50

求函数定义域公式表(如何求函数的定义域啊)

求函数定义域公式表(如何求函数的定义域啊)

大家好,今天小编来为大家解答以下的问题,关于求函数定义域公式表,如何求函数的定义域啊这个很多人还不知道,现在让我们一起来看看吧!

2026年9月9日 07:10

高中数学十大函数(高中数学八大函数是什么)

高中数学十大函数(高中数学八大函数是什么)

大家好,如果您还对高中数学十大函数不太了解,没有关系,今天就由本站为大家分享高中数学十大函数的知识,包括高中数学八大函数是什么的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年9月9日 06:20

javascript常用函数(javascript中匿名函数和普通函数的区别)

javascript常用函数(javascript中匿名函数和普通函数的区别)

各位老铁们,大家好,今天由我来为大家分享javascript常用函数,以及javascript中匿名函数和普通函数的区别的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面

2026年9月1日 21:50

高一数学三角函数全部公式(高中三角函数公式大全)

高一数学三角函数全部公式(高中三角函数公式大全)

大家好,如果您还对高一数学三角函数全部公式不太了解,没有关系,今天就由本站为大家分享高一数学三角函数全部公式的知识,包括高中三角函数公式大全的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年8月29日 09:50

更多文章:


mariadb忘记密码(mysql用户密码忘记了怎么办)

mariadb忘记密码(mysql用户密码忘记了怎么办)

大家好,mariadb忘记密码相信很多的网友都不是很明白,包括mysql用户密码忘记了怎么办也是一样,不过没有关系,接下来就来为大家分享关于mariadb忘记密码和mysql用户密码忘记了怎么办的一些知识点,大家可以关注收藏,免得下次来找不

2026年10月15日 07:50

mysql端口号(如何查看自己数据库的端口号)

mysql端口号(如何查看自己数据库的端口号)

“mysql端口号”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看mysql端口号(如何查看自己数据库的端口号)!

2026年10月15日 06:30

printf打印16进制(C语言 十六进制怎么输出)

printf打印16进制(C语言 十六进制怎么输出)

大家好,今天小编来为大家解答以下的问题,关于printf打印16进制,C语言 十六进制怎么输出这个很多人还不知道,现在让我们一起来看看吧!

2026年10月15日 06:00

avantage怎么设置为中文(Avantage安装丢失GIT)

avantage怎么设置为中文(Avantage安装丢失GIT)

大家好,如果您还对avantage怎么设置为中文不太了解,没有关系,今天就由本站为大家分享avantage怎么设置为中文的知识,包括Avantage安装丢失GIT的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月15日 03:00

ospf协议的作用是什么(OSPF路由协议的作用是什么)

ospf协议的作用是什么(OSPF路由协议的作用是什么)

“ospf协议的作用是什么”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看ospf协议的作用是什么(OSPF路由协议的作用是什么)!

2026年10月15日 02:40

方案对比特效js(在一个网页中如何实现两个JS特效)

方案对比特效js(在一个网页中如何实现两个JS特效)

各位老铁们好,相信很多人对方案对比特效js都不是特别的了解,因此呢,今天就来为大家分享下关于方案对比特效js以及在一个网页中如何实现两个JS特效的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月15日 02:10

activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)

activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)

今天给各位分享登陆视频监控网页时提示activex控件未注册,怎么解决的知识,其中也会对登陆视频监控网页时提示activex控件未注册,怎么解决进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 20:30

学生信息管理系统c语言(用C语言编程学生信息管理系统!)

学生信息管理系统c语言(用C语言编程学生信息管理系统!)

今天给各位分享用C语言编程学生信息管理系统!的知识,其中也会对用C语言编程学生信息管理系统!进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 20:20

excel连接sql数据库教程(excel怎么连接sql数据库)

excel连接sql数据库教程(excel怎么连接sql数据库)

本篇文章给大家谈谈excel连接sql数据库教程,以及excel怎么连接sql数据库对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月14日 19:40

null s brawl(null和空字符有区别吗)

null s brawl(null和空字符有区别吗)

今天给各位分享null和空字符有区别吗的知识,其中也会对null和空字符有区别吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月14日 19:00

最近更新

热刺vs马赛比赛(热刺赛程比分)
2026-10-15 09:10:01 浏览:0
热门文章

标签列表