C语言指针应用简单实例

 更新时间:2017年05月10日 16:46:28   作者:杨鑫newlfe  
这篇文章主要介绍了C语言指针应用简单实例的相关资料,需要的朋友可以参考下

C语言指针应用简单实例

这次来说交换函数的实现:

1、

#include <stdio.h> 
#include <stdlib.h> 
void swap(int x, int y) 
{ 
    int temp; 
    temp = x; 
    x = y; 
    y = temp; 
} 
int main() 
{ 
    int a = 10, b = 20; 
    printf("交换前:\n a = %d, b = %d\n", a, b); 
    swap(a, b); 
    printf("交换后:\n a = %d, b = %d", a, b); 
    return 0; 
} 
 
 
//没错你的结果如下,发现没有交换成功, 
//是因为你这里你只是把形参的两个变量交换了, 
//然后函数执行完毕后你就把资源释放了,而没有实际改变实参。


那么用指针实现: 
#include <stdio.h> 
#include <stdlib.h> 
void swap(int *x, int *y) 
{ 
    int temp; 
    temp = *x; 
    *x = *y; 
    *y = temp; 
} 
int main() 
{ 
    int a = 10, b = 20; 
    printf("交换前:\n a = %d, b = %d\n", a, b); 
    swap(&a, &b); 
    printf("交换后:\n a = %d, b = %d", a, b); 
    return 0; 
} 


//还有一种方式就是“引用 ”如下的sawp(&a, &b) 
//这里是c++的代码,如果你在c语言的代码里 
//使用这种引用的方式就会报错。 
#include <cstdio> 
#include <iostream> 
using namespace std; 
void swap(int &x, int &y) 
{ 
    int temp; 
    temp = x; 
    x = y; 
    y = temp; 
} 
int main() 
{ 
    int a = 10, b = 20; 
    printf("交换前:\n a = %d, b = %d\n", a, b); 
    swap(a, b); 
    printf("交换后:\n a = %d, b = %d", a, b); 
    return 0; 
} 


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • C++中二维map实现读和写

    C++中二维map实现读和写

    在C++中,可以使用std::map来实现二维映射,本文主要介绍了C++中二维map实现读和写,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • C++单例类模板详解

    C++单例类模板详解

    这篇文章主要介绍了C++单例类模板,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • C语言中的文件操作详解

    C语言中的文件操作详解

    这篇文章主要介绍了C语言中的文件操作详解,使用文件可以将数据直接存放到电脑的硬盘上,做到了数据的持久化
    2022-07-07
  • C语言分支循环其嵌套语句的使用

    C语言分支循环其嵌套语句的使用

    本文主要介绍了switch 嵌套和循环嵌套,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • GCC 编译c程序的方法及过程解析

    GCC 编译c程序的方法及过程解析

    目前 Linux 下最常用的 C 语言编译器是 GCC ( GNU Compiler Collection ),它是 GNU 项目中符合 ANSI C 标准的编译系统,能够编译用 C 、 C++ 和 Object C 等语言编写的程序
    2014-01-01
  • 解析C++无锁队列的实现代码

    解析C++无锁队列的实现代码

    本篇文章是对C++无锁队列的实现进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++的try块与异常处理及调试技术实例解析

    C++的try块与异常处理及调试技术实例解析

    这篇文章主要介绍了C++的try块与异常处理及调试技术实例解析,有助于读者加深对try块调试技术的认识,需要的朋友可以参考下
    2014-07-07
  • VC WinExec打开指定程序或者文件的方法

    VC WinExec打开指定程序或者文件的方法

    使用WinExec命令打开指定程序或者文件的参数说明
    2008-11-11
  • Qt使用Quazip解压缩、压缩文件的实现

    Qt使用Quazip解压缩、压缩文件的实现

    Quazip是在zlib基础上进行了简单封装的开源库,利用它可以很方便将单个或多个文件打包为zip文件,本文主要介绍了Qt使用Quazip解压缩、压缩文件的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • QT5实现简单的TCP通信的实现

    QT5实现简单的TCP通信的实现

    本文主要介绍了QT5实现简单的TCP通信的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05

最新评论