C语言没有引用,只有指针

这个问题是昨晚上有同学在知识星球提问,但是因为前两天一直在出差,比较累,没认真回答,今天打球回来,就把这个事情解决了。

我想说的已经在题目说明的很清楚了,C语言是没有引用的,引用是在C++里面才存在的神级操作。

所以,什么是引用呢?

说白了引用&就是给已经存在的某个变量新建了一个名字,如果程序对引用别名做了某些操作,其实就是对原目标的改动。

C ++ 引用实例

  
 
 
  1. #include 
  2. #include 
  3.  
  4. void exchange(int &x, int &y) 
  5.         int t; 
  6.         t = x; 
  7.         x = y; 
  8.         y = t; 
  9. int main() 
  10.     int a, b; 
  11.     scanf("%d %d", &a, &b); 
  12.     exchange(a, b); 
  13.     printf("%d %d\n",a,b); 
  14.     getchar(); 
  15.     return 0; 

程序输出

  
 
 
  1. 12 34 
  2. 34 12 
  3.  
  4. -------------------------------- 
  5. Process exited after 3.121 seconds with return value 0 
  6. 请按任意键继续. . . 

C语言有什么呢?

C语言是万变不离其宗的指针,引用在C++里面出现后,让编程变得非常友好,你看上面的操作,看起来就非常明了。

不过我们也可以使用指针来完成上面的操作

实例代码

  
 
 
  1. 12 34 
  2. 34 12 
  3.  
  4. -------------------------------- 
  5. Process exited after 3.121 seconds with return value 0 
  6. 请按任意键继续. . . 

程序输出

  
 
 
  1. 12 56 
  2. 56 12 
  3.  
  4. -------------------------------- 
  5. Process exited after 2.477 seconds with return value 0 
  6. 请按任意键继续. . . 

留一个讨论题目

讨论下下面的程序输出什么?

  
 
 
  1. #include 
  2. #include 
  3.  
  4. void exchange(int *x, int *y) 
  5.         int *t = x; 
  6.         *x = *y; 
  7.         *y = *t; 
  8. int main() 
  9.     int a, b; 
  10.     scanf("%d %d", &a, &b); 
  11.     exchange(&a, &b); 
  12.     printf("%d %d\n",a,b); 
  13.     getchar(); 
  14.     return 0; 

当前名称:C语言没有引用,只有指针
链接地址:http://www.shufengxianlan.com/qtweb/news15/357015.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联