函数不能改变实参的值
来源:互联网 发布:尼尔机械纪元n卡优化 编辑:程序博客网 时间:2024/06/01 10:50
实参只是将值传递给函数,在函数里面,并不能改变实参本身原有的值,就算实参是指针也一样。
当指针作为实参传递给函数后,在函数里面只能改变指针所指向的内容的值,但并不能改变指针它本身的值,即不能改变指针的指向
如下所示:
int main(void){int a=1,b=2;int *pa,*pb;pa = &a;pb = &b;printf("原始值: %d %d\n",*pa,*pb);fun1(pa,pb);printf("调用fun1:%d %d\n",*pa,*pb);pa = &a;pb = &b;fun2(pa,pb);printf("调用fun2:%d %d\n",*pa,*pb); return 1;}
该特性在实参是指针时很容易忘记,特别是数据结构里有多重指针,一定要注意不能因为参数是指针就认为可以所以赋值,
所以函数的实参最好为(&x),即传递给函数的都是实参的地址,在函数里面可以改变实参值,对不需要改变的参数在函数声明时加上const保护。
0 0
- 函数不能改变实参的值
- 以指针作为函数参数,不能改变实参指针变量的值从而改变实参值
- 不能企图通过改变指针形参的值而使指针实参的值改变
- 实参和形参指针做函数参数时,如何改变main函数变量的值
- 对函数返回值的操作是否改变实参的讨论
- C语言函数传递中形参的变化不会改变实参的值
- 形参的数值改变不会改变实参的值
- VC++利用函数实参指针,双向传递,改变数组下标的值
- 指针变量作为函数参数为了改变指针变量指向实参的值
- 不能通过改变形参指针的值(形参所指向的地址)来改变实参指针的地址,实现改变实参指针所指向地址变量的值。
- 已定义的函数有返回值,函数调用可以作为一个函数的实参,但是不能作为形参
- 已定义的函数有返回值,函数调用可以作为一个函数的实参,但是不能作为形参
- 形参值的改变不会影响对应的实参的值
- 参数传递---形参改变实参指针变量的值
- JAVA里怎么样在调用方法时同时改变实参的值 (形参改变实参)
- 如何通过函数修改实参的值
- 如何通过函数修改实参的值
- 如何通过函数修改实参的值
- Newsstand后台下载 断点续传见解
- Git 常用命令详解(二)
- iOS 如何在一个应用程序中调用另一个应用程序
- SpringMVC中的文件上传
- android:限制文本长度加省略号用ellipsize
- 函数不能改变实参的值
- DataTable转化为List的方法
- Ruby 如何排序Hash数组
- const、static、内部链接属性和外部链接属性整理
- 定义一个名为Vehicles(交通工具)的基类
- 千元4G手机 中兴红牛V5“威武”发布
- java中synchronized的用法详解
- Testing WSO2 Identity Server OAuth 2.0 support with Curl
- web.xml详细解答