C语言地址传递和引用传递

Posted 肥学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言地址传递和引用传递相关的知识,希望对你有一定的参考价值。

值传递就不说了,就是字面意思

#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;

以上是关于C语言地址传递和引用传递的主要内容,如果未能解决你的问题,请参考以下文章

C语言中的参数传递方式都有哪些

❗划重点!C语言函数参数传递只有两种方式(值传递,地址传递),不支持“引用传递”!❗

❗划重点!C语言函数参数传递只有两种方式(值传递,地址传递),不支持“引用传递”!❗

值传递和引用传递怎么理解?

在C语言中,函数实参与形参之间的数据传递方式是( )传递方式。

在C语言中,函数实参与形参之间的数据传递方式是( )传递方式。