C 函数与指针(function & pointer)
2024-08-29 06:22:07
C 函数与指针(function & pointer)
/*
* function.c
* 函数在C中的使用
* */ #include <stdio.h> int noswap(int x, int y)
{
/*
* 函数会将传进来的参数复制一份,所以main中的x和y和noswap函数中的x和y的地址不同
* 因而,在这个函数中对x和y的操作并不会影响到main函数中的x和y
* */
printf("在noswap函数中:\n");
printf("x的值为%d,地址为%p\n", x, &x);
printf("y的值为%d,地址为%p\n", y, &y); int tmp = x;
x = y;
y = tmp;
} int swap(int *x, int *y)
{
/*
* 在这个函数中,参数是两个指针,这两个指针存储的main函数中x和y的地址
* 因此,可以通过这两个指针,对main函数中的x和y进行调换
* */
printf("在swap函数中:\n");
printf("指针x指向的地址为%p,值为%d,指针本身的地址为%p\n", x, *x, &x);
printf("指针y指向的地址为%p,值为%d,指针本身的地址为%p\n", y, *y, &y); int tmp = *x;
*x = *y;
*y = tmp;
} int main(void)
{
int x = , y = ; printf("在main函数中:\n");
printf("x的值为%d,地址为%p\n", x, &x);
printf("y的值为%d,地址为%p\n", y, &y); noswap(x, y);
printf("经过noswap函数,x=%d,y=%d\n", x, y); swap(&x, &y);
printf("经过swap函数,x=%d,y=%d\n", x, y); return ;
}
最新文章
- [AS3]as3画笔实例实现橡皮擦功能源代码
- Velocity 基本语法
- 信号量进程同步,王明学learn
- yii2构造方法
- marmalade android 5.0 JNI 调用失败的解决方案
- type和create type
- os x 10.10 測试版系统下载 swift语言学习资料下载
- git + tortoisegit安装及配置
- logback:用slf4j+logback实现多功能日志解决方案
- JAVA基础5——与String相关的系列(2)
- JSON字符串与Map互转
- Robot Framework - 一些练习
- iOS 判断当前网络状态的三种方法
- 指令计数器--Program counter
- 如何用Baas快速在腾讯云上开发小程序-系列4:实现客户侧商品列表、商品详情页程序
- IIS字体文件添加MIME映射
- NBUT 1223 Friends number 2010辽宁省赛
- git 上传文件到仓库上提示:origin does not to be a git repository
- Linux进程管理之“四大名捕”
- redis3.0.6安装配置
热门文章
- eclispe git config配置文件配置远程仓库
- R语言-laohuji
- shell基础概念, if+命令, shell中引用python, shell脚本的几种执行方式
- 用 Python 批量下载百度图片
- jQuery 源码分析(十二) 数据操作模块 html特性 详解
- Ansible快速开始-指挥集群
- What is Java virtual machine?
- [反汇编] 获取上一个栈帧的ebp
- Linux 网络相关命令 Cheat Sheet
- 关于在 ASP.NET 的 Global.asax 中 Application_Error 方法内,设置跳转到自定义错误页无效的问题