开发者社区> 技术小美> 正文

C#和C/C++指针实现swap交换

简介:
+关注继续查看
当我们要编程的时候要实现两个数的简单交换,要求必须调用子函数来交换,咋一看挺简单,就直接交换一下或许就能实现,但真正实现起来或许我们会碰到一定的问题,当运行结果的时候,我们有可能会惊讶的发现怎么两个数还没有交换呢,其实这是我们对函数参数是值类型还是应用类型还不够了解,发生错误就是因为我们使用的是值传递,接下来我通过两种语言来实现这一方法,首先是c语言实现
  C代码实现:
#include <stdio.h>  void swap(int* a,int* b) { 	int p; 	p=*a; 	*a=*b; 	*b=p; }  int main() { 	int a=1; 	int b=2; 	printf("a=%d,b=%d",a,b); 	swap(&a,&b); 	printf("\na=%d,b=%d",a,b); 	return 0; } 
其次是C#实现,很多初学者或许会疑惑,为什么C#是继C/C++/java之后的新的面向对象的语言,他取长补短,实现了很多的封装,让我们程序员使用起来非常的便捷,但为什么微软取消了C/C++中指针的实现,其实进一步升入,其实微软并没有抛弃这一类型,只不过是换了一种说法而已,用ref和out关键字取代了之前的指针,从而实现了地址的传递,接下来介绍一下C#实现的swap方法
C#代码实现:
 

using System;  namespace Swap {     class Program     {         public static void Main(string[] args)         {             int a = 2;             int b = 3;             Console.WriteLine("a={0},b={1}", a, b);             Swap(ref a, ref b);             Console.WriteLine("a={0},b={1}", a,b);             Console.Read();         }          private static void Swap(ref int a, ref int b)         {             int p = a;             a = b;             b = p;         }     } } 























本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366858,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
开心档之C++ 指针
【摘要】 在 C++ 中,有很多指针相关的概念,这些概念都很简单,但是都很重要。下面列出了 C++ 程序员必须清楚的一些与指针相关的重要概念:
7 0
开心档之 C++ 指针
学习 C++ 的指针既简单又有趣。通过指针,可以简化一些 C++ 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C++ 程序员,学习指针是很有必要的。
16 0
C++入门篇之C++ 指针
学习 C++ 的指针既简单又有趣。通过指针,可以简化一些 C++ 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C++ 程序员,学习指针是很有必要的。
21 0
引用、 内联函数 、auto关键字(C++11)、基于范围的for循环(C++11)、指针空值---nullptr(C++12)(下)
随着程序越来越复杂,程序中用到的类型也越来越复杂,经常体现在: 1. 类型难于拼写 2. 含义不明确导致容易出错
14 0
引用、 内联函数 、auto关键字(C++11)、基于范围的for循环(C++11)、指针空值---nullptr(C++11)(上)
引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。
24 0
c++基础知识——函数和指针
c++基础知识——函数和指针
27 0
C++ 指针篇
指针大小:32位操作系统中指针占4个字节; 64位操作系统中指针占8个字节
22 0
this指针C++
🐰this 指针 🌸this指针的定义 🌸this指针的应用 🌸this指针的注意事项:
18 0
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别(二)
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别
20 0
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别(一)
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别
34 0
+关注
技术小美
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
GPON Class C++ SFP OLT Transce
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载