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都不仔细看。
本文来自博客园,作者:OceanWaves,转载请注明原文链接:https://www.cnblogs.com/OceanWaves/p/12006977.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」