如果传地址(void swap(int*a,int*b)),那么函数拿到这个地址就可以修改这个内存地址中的数据,退出函数后原来变量的内存地址中的数据就改变了。
创新互联公司成立于2013年,我们提供高端成都网站建设、成都网站制作、网站设计、网站定制、营销型网站建设、微信小程序、微信公众号开发、成都网站营销服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为成都柴油发电机企业提供源源不断的流量和订单咨询。
C语言的函数形式参数是函数的局部变量,你把实参地址值传给形参指针,在函数中交换只在函数中起作用,影响不到主调函数中实参指针的值。
c语言中指针即地址,地址的传值可以引起参数的变化。比如:&x, &y是取这两个变量的地址,他们的作用空间在main函数里。
建立中间变量(形参),把实参值赋值给中间变量,当被调函数返回值时,系统释放掉中间变量。在程序中通过对函数的调用来执行函数体,其过程与其它语言的子程序调用相似。对无参函数调用时则无实际参数表。
举个栗子:有100个房间,从0到99编号,每个房间放在不同的食材。交换两个变量的值 只需要告诉你把A房间和B房间的东西调换,你不需要知道房间里面放的是什么。
1、指针传递可以改变其指向地址的内容,但不能改变原指针的指向。如果需要改变指向,需要使用指向指针的指针作为参数。
2、literal),是静态对象,因此从语义上来说,指针指向它之后字符串内容自然不可修改。虽然不可被更改,但它是左值(lvalue),用&取地址还是可行的(结果是地址常量)。
3、如果要修改指针本身,一般是pF = freopen(char *path, char *mode, FILE*stream);重新打开指定的文件流,就是关掉原来的指针,重新指定一个新指针。如果要修改指针指向的内容那就更简单了。直接pF.XXXX = XXX 就OK了。
void f(int *q){ q=(int *)0XFFFFFFFF; //这里修改的是函数中形参q这个临时变量的值。
void f(int *q){ q=(int *)0XFFFFFFFF;} 你这样改的是q的值 在这种情况下改值 必须知道需要改的值的变量地址才行。
但,如果参数类型是指针类型,则可以通过对指针变量所指向的地址中的数据进行修改,达到改变实参地址中的数据目的。
可以传递指针作为参数。如:使用swap(a,b)实现交换a、b两个实参的值。
文章名称:c语言函数内修改地址 c语言修改函数内容
文章链接:https://www.cdcxhl.com/article2/dsjseic.html
成都网站建设公司_创新互联,为您提供网站营销、虚拟主机、手机网站建设、搜索引擎优化、电子商务、外贸网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联