icp ip 网站备案网站怎么做定时任务
news/
2025/9/24 19:23:50/
文章来源:
icp ip 网站备案,网站怎么做定时任务,app制作网站制作完,利用影视网站做cpa我们都知道#xff0c;想要在函数中修改某个变量的值#xff0c;传变量本身是没有用的。原因在于不同的函数在不同的空间上#xff0c;函数的生命周期随着函数的调用而结束#xff0c;因此在函数内部进行的值操作是不会对函数外的变量产生影响的。所以在函数里面想要修改变…我们都知道想要在函数中修改某个变量的值传变量本身是没有用的。原因在于不同的函数在不同的空间上函数的生命周期随着函数的调用而结束因此在函数内部进行的值操作是不会对函数外的变量产生影响的。所以在函数里面想要修改变量的值必须使用指针。
可是当阴险的助教跟你玩阴的的时候指针似乎也不好使了....来看看可爱的助教们是怎样坑害清澈愚蠢的大学生的吧~ 给出下述程序的执行结果 #include stdio.h void swap(int *p, int *q){ int *t; tp; pq; qt; } int main(){ int a10,b20; swap(a,b); printf(a%d,b%d\n,a,b); return 0 } 乍眼一看哼哼小小的swap函数不就是交换两个变量的值吗这有何难 自信写下a20b10 然后.... 听取完一片WA声之后得看看问题出在了那里。 上面这个是还没有进行swap的地址 这个是已经交换过后的地址你会发现没有变。
其实问题的本质是简单的当你在函数中进行交换的时候你只是在函数内部对函数的p和q变量进行了交换地址而ab本质上不是变量即没有用一个新的变量名来对他们进行存储而是一个值所以无论怎样交换只要你从函数中出来a和b这两个变量还在当你写ab的时候可以理解为又一次的对a和b进行取地址操作他们俩的地址就不会改变输出的值也不会改变。
那么假设我们使用两个变量来存储地址呢 还是没有变a仍然等于10这说明前面的理解是肤浅的哪怕我们使用了两个变量来存储地址还是会出现问题。
经过了解之后上面问题的原理本质上就是一个函数传的形参无论它是什么类型在函数中进行的操作在主函数或者其他函数中都是无效的即相应的修改不会对主函数中的这个变量产生影响。之前我们说想要在函数中修改一个变量的值要传指针其实是一条普适性的原理。大家可以想一想指针其实本质上也是一种变量那么想要修改指针的话就要传入指针的指针——二级指针 因此本例中在函数中的交换指针的值其实是无效的a的地址还是a的地址。所有问题就迎刃而解了。
总结来说就是我上面说的那句话想要在函数中修改一个变量普通变量包括指针二级指针的值要传指针所有函数传参修改值的问题就秉持这个原则就行了
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916132.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!