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
注:
传递数值,操作的是不同的内存空间传递地址,操作的是同个内存空间
总结
本篇文章就到这里了,希望能够给你带来帮助也希望您能够多多关注脚本之家的更多内容!
