C语言函数传递数组和传递地址的区别你知道吗

编辑: admin 分类: c#语言 发布时间: 2021-12-12 来源:互联网
目录
  • 传递数值
  • 传递地址
  • 注:
  • 总结

传递数值

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

注:

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

总结

本篇文章就到这里了,希望能够给你带来帮助也希望您能够多多关注海外IDC网的更多内容!

【本文转自:韩国站群服务器 欢迎转载】