服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C语言函数传递数组和传递地址的区别你知道吗

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

2021-12-31 15:08先仔 C/C++

这篇文章主要介绍了C语言中数组作为函数的参数以及返回值的使用简单入门,这里以一维数组作为基本条件进行例子讲解,需要的朋友可以参考下

传递数值

code:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#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:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#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

注:

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

总结

本篇文章就到这里了,希望能够给你带来帮助也希望您能够多多关注服务器之家的更多内容!

原文链接:https://blog.csdn.net/weixin_52011465/article/details/120168794

延伸 · 阅读

精彩推荐