如何理解C语言中的值传递和引用传递?

 时间:2026-02-16 16:43:17

1、时间的代码如下:通过互换值进行设置,下面的代码可以运行:

#include<stdio.h>#include<stdlib.h>void swap(int i,int j){     int temp=i;     i=j;     j=temp;     }main(){       int i=3;       int j=5;       swap(i,j);       printf("i的值为:%d\n",i);           printf("j的值为:%d\n",j);           system("pause");             }

如何理解C语言中的值传递和引用传递?

2、main方法中:int i=3,这句话在内存中开辟了一个空间并且保存了3

同理int j=5;

在swap方法中,swap(i,j)中的i,j都是从主函数中传过来的值,并且它们也创建了两个内存空间,所以它们只是在swap方法中进行了调换对main方法中的i,j没有影响。

这种叫做值传递。

如何理解C语言中的值传递和引用传递?

3、void swap(int *p,int *q){     int temp=*p;     *p=*q;    *q=temp;     }main(){       int i=3;       int j=5;       swap(&i,&j);       printf("i的值为:%d\n",i);           printf("j的值为:%d\n",j);           system("pause");             }

如何理解C语言中的值传递和引用传递?

4、int i,j;都开辟了自己的空间,并且地址不同,swap中创建p,q的时候又创建了两个空间,p中存放的是i的地址,q中存放的是J的地址

*p中表示的是i的值,*q中存放的是j的值,所以其改变能够改变i,j的值

如何理解C语言中的值传递和引用传递?

5、引用传递:就是在传递的时候传递过去的是对象,把引用传过去之后,然后再修改值,就可以完成交换,其实在转换的过程中修改的是地址值。

     其实引用传递也是一个值传递,只不过其传递的是一个地址。

    

如何理解C语言中的值传递和引用传递?

  • 珠宝首饰的寓意
  • 《魔兽争霸3冰封王座》隐形攻略
  • 带你做金线鱼酱油水
  • Python3.x那些事儿:[10]数字运算
  • 九雷文档转换器怎么将xlsx转换成txt
  • 热门搜索
    怎么去红色痘印 蒙曼老师的简介 72种啪姿势大全 周杰伦歌曲大全 猜成语大全700个图片 英语否定句怎么改 怎么查看ip 学习图片大全 郭涛简历个人资料简介 日本电影大全