C语言没有引用,只有指针
这个问题是昨晚上有同学在知识星球提问,但是因为前两天一直在出差,比较累,没认真回答,今天打球回来,就把这个事情解决了。
我想说的已经在题目说明的很清楚了,C语言是没有引用的,引用是在C 里面才存在的神级操作。
所以,什么是引用呢?
说白了引用&就是给已经存在的某个变量新建了一个名字,如果程序对引用别名做了某些操作,其实就是对原目标的改动。
C 引用实例
#include
#includevoid exchange(int &x, int &y)
{int t;t = x;x = y;y = t;
}
int main()
{int a, b;scanf("%d %d", &a, &b);exchange(a, b);printf("%d %d\n",a,b);getchar();return 0;
}
程序输出
12 34
34 12--------------------------------
Process exited after 3.121 seconds with return value 0
请按任意键继续. . .
C语言有什么呢?
C语言是万变不离其宗的指针,引用在C 里面出现后,让编程变得非常友好,你看上面的操作,看起来就非常明了。
不过我们也可以使用指针来完成上面的操作
实例代码
#include
#includevoid exchange(int *x, int *y)
{int t;t = *x;*x = *y;*y = t;
}
int main()
{int a, b;scanf("%d %d", &a, &b);exchange(&a, &b);printf("%d %d\n",a,b);getchar();return 0;
}
程序输出
12 56
56 12--------------------------------
Process exited after 2.477 seconds with return value 0
请按任意键继续. . .
留一个讨论题目
讨论下下面的程序输出什么?评论说出你的答案
#include
#includevoid exchange(int *x, int *y)
{int *t = x;*x = *y;*y = *t;
}
int main()
{int a, b;scanf("%d %d", &a, &b);exchange(&a, &b);printf("%d %d\n",a,b);getchar();return 0;
}
声明:
本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。
C语言没有引用,只有指针相关推荐
- 【C语言】引用和指针的区别?
首先解释在C语言中,什么是引用: 1.引用概念 引用是别名,必须在声明的时候初始化.即:是指一个已定义变量的别名.(一个内存空间,有两个名字都可以操作) 引用:在函数调用时,是变量的别名,不可以单独 ...
- c语言 指针 a= amp b,c语言初学-引用和指针的异同点
注:(const指针在这里代表的是指向变量的指针,常指针不考虑) 相同点:1.一个const引用可以引用一个非const变量 int a = 3; const int& b = a; 一个co ...
- 【C++ 语言】引用 ( 引用简介 | 指针常量 | 常量指针 | 常引用 | 引用参数 | 引用 指针 对比 )
文章目录 I . 引用概念 II . 引用声明 III . 引用 地址 内存 分析 IV . 常引用 V . 引用作为参数 VI . 引用 与 指针 对比 I . 引用概念 C++ 对 C 扩充 : ...
- c语言实参形参函数调用指针引用 符号实例,C语言实参、形参、函数调用、指针、引用、符号实例.doc...
C语言实参.形参.函数调用.指针.引用.符号实例 C语言实参.形参.函数调用.指针.引用.*&符号实例 实现环境:VC6 程序源代码: #include "stdio.h" ...
- c++语言中的引用与指针
注:纯c语言不支持引用语法 一.引用与指针的对垒 1.引用的声明:int a=1; int &b=a; //必须在声明时初 ...
- C语言——指针篇(三)数组的下标引用和指针访问
前言:在上一篇文章中,笔者介绍了指针和数组的内存分配以及初始化,这篇文章来整理下关于数组访问的两种方式. 数组的下标引用和指针访问 在正式开始介绍多维指针和多维数组之前,笔者要先介绍一些关于数组下标引 ...
- 【C语言指针】 指针+-整数、指针-指针、解引用、指针数组、二级指针、结构体声明、初始化、传参
目录 一.指针 1.指针是什么 1.1.一个单元1个字节 2.指针和指针类型 2.1.指针类型的意义 ① 解引用 ② + -整数 例:把每个整形里放1 每个字节里放1 总结: 3.野指针 3.1.野指 ...
- c语言的整型指针解引用与整型变量的区别
(一)引入:简单介绍一下整型变量,指针,引用符和解引用符 定义一个整型变量a: int a; 如果使用引用符号&,&a则是整型变量a的地址,也就是一个整型指针. 定义一个整型指针 ...
- c++引用与指针的区别
★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址:引用是某块内存的别名. ★ 区别: 1. 指针是一个实体,而引用仅是个别名: 2. 引用使用时无需解引用(*),指针需 ...
- [C++再学习系列] 引用和指针
下面是网上关于引用和指针区别的常见答案: 引用和指针有如下三种区别: 1 引用必须在声明时初始化,而指针不用: 2 NULL不能引用,而指针可指向NULL: 3 引用一旦声明,引用的对象不能改变(但对 ...
最新文章
- 局部变量java6_java字节码-几种字符串局部变量用法的区别
- 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](6)
- 修改GIT的user.name和user.email
- 【电设控制与图像训练题】【激光打靶】【openmv测试代码以及效果】
- cp 过程中目录突然挂了_怎么解决管材激光切割机切管过程中出现的过烧及挂渣...
- 计组之数据运算:10、IEEE754标准
- Linux Shell通过fifo实现多进程并发以及并发数控制
- Uber发布的CoordConv遭深度质疑,“翻译个坐标也需要训练?”
- Memory Networks
- 中国移动MM如何成就千亿梦想
- 安装MyEclipse10 并且破解(附带软件包)
- SuperMap矢量瓦片优化方案
- U盘插入计算机不显示图标,U盘插入电脑后不显示图标的应对措施
- linux 修改网卡 mac地址命令,Centos系统下查看和修改网卡Mac地址(附ifconfig命令格式)...
- 联想新计算机开机黑屏,联想笔记本电脑开机黑屏没反应的原因及解决办法攻略【维修总结】...
- Linux信号:SIGCHLD信号和僵尸进程
- 基于java的电子病历管理系统ssh框架
- windows meld的右键菜单的使用
- 陈岷愿做中华的守护者
- JavaScript一键换肤