C语言函数传递数组和传递地址的区别是什么

本篇内容介绍了“C语言函数传递数组和传递地址的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

目录
  • 传递数值

  • 传递地址

  • 注:


传递数值

code:

#include <stdio.h>
void deliveryData(int data)
{
	data = data + 100;
	printf("deliveryData:data=%d\n", data);
}
int main(void)
{
	int data=10;
	deliveryData(data);
	printf("main:data=%d\n", data);
	return 0;
}

运行结果:

C:\Users\Administrator\Desktop\C_Study\新版本c语言\程序\unit5_function>a.exe
deliveryData:data=110
main:data=10

传递地址

code:

#include <stdio.h>
void deliveryData(int data[])//这里int data[]是地址(相当于指针)
{
	data[0] = data[0] + 100;
	printf("deliveryData:data=%d\n", data[0]);
}
int main(void)
{
	int data[2]={1, 2};
	deliveryData(data);//这里传递的是地址
	printf("main:data=%d\n", data[0]);
	return 0;
}

运行结果:

C:\Users\Administrator\Desktop\C_Study\新版本c语言\程序\unit5_function>a.exe
deliveryData:data=101
main:data=101

注:

传递数值,操作的是不同的内存空间传递地址,操作的是同个内存空间

“C语言函数传递数组和传递地址的区别是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!