C 语言笔记 您所在的位置:网站首页 c语言中各种函数用法区别是什么 C 语言笔记

C 语言笔记

2024-07-05 10:45| 来源: 网络整理| 查看: 265

在 C 语言的函数中定义参数时,有时会用到 &,比如:

void InitSqList(SqList &L) { // 顺序表初始化函数 for (int i = 0; i int x = 666; printf("未经过函数的 x = %d\n",x); test(x); printf("经过函数的 x = %d\n",x); }

运行结果为

未经过函数的 x = 666 在函数中的 x = 1024 经过函数的 x = 666

可以看到在函数中已经对 x 进行了修改,但回到主函数中 x 的数值并没有发生变化。现在给参数添加 &。

#include void test(int &x) { x = 1024; printf("在函数中的 x = %d\n",x); } int main() { int x = 666; printf("未经过函数的 x = %d\n",x); test(x); printf("经过函数的 x = %d\n",x); }

运行结果为

未经过函数的 x = 666 在函数中的 x = 1024 经过函数的 x = 1024

可以看到添加了 & 之后,主函数中 x 通过 test 函数修改成功了。

实际上,主函数中定义的 x 和 test 函数的参数 x 并不是同一个,在虚拟内存中,它们的地址是不同的。而 & 叫做引用符,它是 C++ 的内容(目前多数 C 语言编译器也能使用),它可以引用主函数中 x 的地址,这样就可以对主函数中的 x 进行修改。所以当 C 语言开发中,函数需要对原变量进行修改时,可以给该参数添加 &。这样函数中对参数的修改,就是对原变量的修改。

效果类似于使用并接收返回值。

#include int test(int &x) { x = 1024; printf("在函数中的 x = %d\n",x); return x; } int main() { int x = 666; printf("未经过函数的 x = %d\n",x); x = test(x); printf("经过函数的 x = %d\n",x); }

运行结果

未经过函数的 x = 666 在函数中的 x = 1024 经过函数的 x = 1024


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有