C语言地址传递和引用传递
【摘要】
值传递就不说了,就是字面意思
#include<iostream>
using namespace std;
void change(int& n,int m){
pri...
值传递就不说了,就是字面意思
#include<iostream>
using namespace std;
void change(int& n,int m){
printf("在函数里的地址%d\n",&n);
printf("在函数里的值%d\n",n);
n=m;
m=9;
}
void change2(int* f,int p){
printf("在函数里的地址%d\n",&f);
printf("在函数里的值%d\n",f);
printf("在函数里的对地址取值%d\n",*f);
*f=p;
p=9;
}
int main()
{
int i=1,j=2;
printf("\n\n引用传递:\n");
printf("初始地址%d\n",&i);
change(i,j);
printf("i=%d,j=%d\n",i,j);
printf("地址传递:\n");
int a=1,b=2;
printf("初始地址%d\n",&a);
change2(&a,b);
printf("a=%d,b=%d\n",a,b);
printf("结论:引用传递简单说就是同一个变量操作引用变量就是操作变量自己,地址传递就是把指针变量的值存为传入变量的地址进而对该变量的地址里的数据操作");
}
特别注意:更大家说一下写引用传递类型和指针的时候千万别写成int &a或者int *p,因为这两个是一个数据类型就像你的char
和int一样要写成int& a,int* p;
文章来源: blog.csdn.net,作者:肥学,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jiahuiandxuehui/article/details/124090483
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)