无言。若你安好,便是晴天。时光如水,总是

C语言,有没有引用类型?解决办法

转自:http://m.myexception.cn/c/1773757.html

C语言,有没有引用类型?

 

//a.c

int a=1;

int &b=a;

 

//b.cc

int a=1;

int &b=a;

 

问题:

1.gcc a.c

编译不了,出错了。

是不是,C语言没有引用类型?

 

2.g++ b.cc

编译通过,又是什么原因?

程序是一样内容。不同编译器而已。

------解决思路----------------------

C里没有引用,C++才有。

------解决思路----------------------

引用:

C里没有引用,C++才有。

 

+1

C用指针可实现C++引用的功能

------解决思路----------------------

“引用”(reference)是c++的一种新的变量类型

------解决思路----------------------

C语言里面没有引用这个东西

可以用指针

c++才有这个呢 帅哥

------解决思路----------------------

"习惯其它语言(特别是 Fortran 语言)的程序员可能会对 C 语言的函数参数传递方式感到

陌生。在 C 语言中,所有函数参数都是“通过值”传递的。也就是说,传递给被调用函数的

参数值存放在临时变量中,而不是存放在原来的变量中。这与其它某些语言是不同的,比如,

Fortran 等语言是“通过引用调用”

,Pascal 则采用 var 参数的方式,在这些语言中,被调用的

函数必须访问原始参数,而不是访问参数的本地副本。

最主要的区别在于,在 C 语言中,被调用函数不能直接修改主调函数中变量的值,而只

能修改其私有的临时副本的值。

传值调用的利大于弊。在被调用函数中,参数可以看作是便于初始化的局部变量,因此

额外使用的变量更少。这样程序可以更紧凑简洁。" ——K&R

 

答案:C没有引用!C它爹说的,不是我说的

------解决思路----------------------

C语言没有引用,国内的教课书就是按照vc6.0来编的,所以在编程的时候,其实都是写的c++程序,大家都误以为有引用。比如说李春葆的数据结构里面就用到了引用,坑死人,我大一的时候看书上代码,看不懂,后来才发现被坑了,毁人不倦啊。

------解决思路----------------------

c是C文件的扩展名

cc是C++文件的扩展名

C用gcc编译

C++用g++编译

C没有引用

C++有引用

 

另外数据结构中,都是伪代码,可是坑爹的作者都不指出来,或者作者有指出来,坑爹的LZ都不仔细看。

posted @   OceanWaves  阅读(1044)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
/* 看板娘 */ /* 粒子吸附*/
点击右上角即可分享
微信分享提示