指针运用过程中的常见问题

1:为什么不能把局部变量的地址作为函数返回值返回?

答:当函数调用结束后,被调用函数的内存空间就会被释放,内存空间的使用权又会回到系统手中。虽然局部变量的地址被传回了主函数,但是由于这个地址所在的内存空间的使用权已经不在程序手中,所以此时取到的地址是一个不合法的地址,因此,不能把局部变量的地址作为函数返回值返回。

2:被调用函数形参的地址和实参的地址一样吗?

答:

举例:int a=12; int  b=10;

judge(&a,&b);     //调用函数judge ,实参是变量a和b的地址,假设,a的地址是0x1234,b的地址是0x4567,那么形参m ,n的地址也会是0x123和0x456吗??

void judge(int* m,int* n)          //定义了函数judge

在这里,只是把a和b的地址当成值传递给了m,n,所以这里0x1234和0x4567只是m和n的值,而m,n的地址就由系统随机分配,具体是什么,我们也不知道。

3:假设char* a=“i am a girl‘; 为什么拿到这个字符串的首地址就等于拿到了这个字符串??

答:因为在这里,内存空间是顺序排列的,当拿到第一个地址的时候,就可以顺序的往下找,对于字符串来说,只要找到结束符‘\0’的时候就等于拿到这个字符串。

4:假设int i=20; i的地址为0x1234;什么情况下i 和这个地址的联系会被斩断,下一个变量的地址还能被赋为0x1234吗?

答:当函数调用结束,活着程序执行完毕后,这个内存空间就会被释放,这时i和这个地址的联系就会被斩断,当声明了下一个变量时,系统又会为这个变量分配一个内存空间,但是不能确定这个变量是否一定能拿到0x1234这个地址,因为分配的内存空间是随机的,也就意味着这个空间的地址是不确定的。

时间: 2024-08-04 19:38:08

指针运用过程中的常见问题的相关文章

D3.js使用过程中的常见问题(D3版本D3V4)

目录 一.学习D3我必须要学习好SVG矢量图码? 二.如何理解D3给Dom节点绑定数据时的Update.Enter和Exit模式 三.D3绑定数据时用datum与data有什么不一样? 四.SVG图中用attr来设置属性和用style来设置样式时,用style来设置样式的权重会更高 五.D3使用链式写法时,写完transition动画后不能链着继续写append添加元素操作 六.如何给path设置缓动? 七.D3普通的缓动动画 八.给节点添加title,鼠标mouseover显示普通提示文本效果

IIS配置过程中的常见问题

解析Json需要设置Mime IIS6.0 1.打开IIS添加Mime项 关联扩展名:*.json内容类型(MIME):application/x-JavaScript      2.添加映射: 位置在IIS对应站点右键属性:”主目录”-”应用程序设置”-”配置”-”映射”-”添加”,会打开”添加/编辑应用程序扩展名映射” 扩展名:.json运行文件:C:\WINDOWS\system32\inetsrv\asp.dll动作:GET,POST IIS7.x 1.打开IIS添加Mime项 关联扩展

Rancher 2.0部署过程中常见问题分析与解决

本文是Rancher 2.0部署与使用过程中常见的问题及其解决方法,多数问题整理收集自Rancher官方技术交流群内用户的提问与反馈.欢迎扫描文末二维码,添加Rancher小助手为好友,加群获得更多技术支持. 本文主要内容为: 1.部署Rancher 2.0的环境需求 推荐使用的操作系统 推荐的硬件配置 支持的docker版本 防火墙需要允许通过的端口 2.部署过程中的常见问题及排查思路 环境信息残留 openssh版本过低问题 nodeport端口只有一台机器能访问 部署使用calico网络部

使用ProcessOnh绘制流程图的过程中一些常见的问题

身边有不少朋友都在使用ProcessOn绘制流程图等相关内容,但是在使用上经常会遇到一些操作上的问题,包括我自己使用也是. 有时候遇到问题一开始会觉得是不是产品出现了bug,或者是产品不支持该操作,但后来在接下来的工作中发现是因为自己并不是很熟悉工具平台的使用,所以导致了在操作过程中出现了一系列的问题,然后就留心把自己遇到的不解的问题都进行了一下整理,汇总了那些高频的问题,和大家分享一下. 快捷键: 首先就是产品内的快捷键,以前以为是没有的,但咨询别人才找到,其实不怪用户不了解,而是入口确实有点

Unity5.x 项目升级过程中常见问题解决方案总结

最近整理Unity4.x 项目升级Unity5.0 过程中出现的各种常见问题,与大家共享. 1:Unity4.x 项目中3D模型其材质丢失,成为"白模"?      解决方案:手工重新赋值材质贴图. 2:Unity4.x 项目中的NavMesh 升级报错?     "NavMesh asset format has changed. Please rebake the NavMesh data." ?     解决方案:按照字面含义,重新对静态物体进行烘焙即可. 3

Android应用之——微信微博sdk使用过程中的一些常见问题

前言 最近在使用第三方登录和分享的过程中遇到了很多问题,一方面可以归结为自己经验的不足,另一方面其实也说明了官方文档的含糊不清.这篇博文不会写关于如何使用第三方登录分享,因为官方文档已经写明了步骤,这里要写的东西是官方文档里面没用说明的一些问题,也是我自己在摸索的过程中发现和解决的问题. 一.微博登录和分享 微博sdk的集成过程官方下载的sdk文档中已经基本说明清楚了,这里不提了,说两个经常遇到过问题. 1.登录后停留在授权页,也就是登录后没有返回我们的应用,排除代码方面的原因后,还有几个原因导

【Unity】近期整理Unity4.x 项目升级Unity5.0 过程中出现的各种常见问题,与大家共享。

近期整理Unity4.x 项目升级Unity5.0 过程中出现的各种常见问题,与大家共享. 1:Unity4.x 项目中3D模型其材质丢失,成为"白模"? 解决方式:手工又一次赋值材质贴图. 2:Unity4.x 项目中的NavMesh 升级报错? "NavMesh asset format has changed. Please rebake the NavMesh data." ? 解决方式:依照字面含义,又一次对静态物体进行烘焙就可以. 3:Unity4.x

Android Studio使用过程中常见问题及解决方案

熟悉Android的童鞋应该对Android Studio都不陌生.Android编程有两个常用的开发环境,分别是Android Studio和Eclipse,之前使用比较多的是Eclipse,而现在呢,由于Android Studio的优越性,越来越多的人转而使用它了. 随着Android Studio使用人数的增加,使用过程中的问题也日益凸显,本文小编就整理了一些Windows系统下使用Android Studio的常见问题及解决方案,大家可以围观围观,遇到类似问题,不妨可以试试小编下面分享

Android应用之——微信微博第三方sdk登录分享使用过程中的一些常见问题

前言 近期在使用第三方登录和分享的过程中遇到了非常多问题,一方面能够归结为自己经验的不足,还有一方面事实上也说明了官方文档的含糊不清.这篇博文不会写关于怎样使用第三方登录分享,由于官方文档已经写明了步骤,这里要写的东西是官方文档里面没用说明的一些问题,也是我自己在摸索的过程中发现和解决的问题. 一.微博登录和分享 微博sdk的集成过程官方下载的sdk文档中已经基本说明清楚了.这里不提了,说两个常常遇到过问题. 1.登录后停留在授权页,也就是登录后没有返回我们的应用.排除代码方面的原因后.还有几个