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