C语言有引用传递吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言有引用传递吗相关的知识,希望对你有一定的参考价值。

如图,清华大学的数据结构书C语言版中使用了引用传递,但我在我网上听说引用传递C语言用不了,只有C++能用。我自己实验引用传递也用不了。所以到底引用传递C语言能用吗?是我代码写错了还是清华大学那本书上的代码写错了?

c语言没有引用传递,只有c++有,c语言中函数参数总是通过值传递,可以通过显示传递指针值模拟引用传递,而直接用&的引用传递会报错,你那程序把源文件改成cpp文件应该能用,至于严老师的只是伪代码,提供一个程序运行结构而已,大体按照c语言编写,有一部分是c++的东西 参考技术A 很多编译器c c++是共用的 c中有c++代码也能过
也可以把引用换成指针
有时候c和c++的界限不是很清晰本回答被提问者和网友采纳
参考技术B 引用:就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。这是C++加入的新特性,在C语言中没有引用的概念。
引用的声明方法:类型标识符 &引用名=目标变量名;,比如:定义引用ra,它是变量a的引用,即别名。
    int a;
    int &ra=a;
  (1)&在此不是求地址运算符,而是起标识作用。
  (2)类型标识符是指目标变量的类型。
  (3)声明引用时,必须同时对其进行初始化。
  (4)引用声明完毕后,相当于目标变量有两个名称即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。
  (5)声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。故:对引用求地址,就是对目标变量求地址。&ra与&a相等。
  (6)不能建立数组的引用。因为数组是一个由若干个元素所组成的集合,所以无法建立一个数组的别名。

C语言中的参数传递方式都有哪些

是函数参数的传递方式吧。c语言的话是:值传递和指针(地址)传递。c++的话除了c语言的两种方式外还有引用传递。 参考技术A 两种
传地址和传值。
传地址也叫传指针调用。
参考技术B 只有值传递,地址传递。 引用传递是C++的 参考技术C 有两种,一种按值传递,一种按引用传递

以上是关于C语言有引用传递吗的主要内容,如果未能解决你的问题,请参考以下文章

在C语言中,函数实参与形参之间的数据传递方式是( )传递方式。

C语言数组是“引用类型”么?

在C语言中,函数实参与形参之间的数据传递方式是( )传递方式。

C++中函数参数的传递方式有哪几种

C语言中的参数传递方式都有哪些

❗划重点!C语言函数参数传递只有两种方式(值传递,地址传递),不支持“引用传递”!❗