C语言学习笔记(13指针)
来源:互联网 发布:大唐通讯科技软件 编辑:程序博客网 时间:2024/05/16 04:54
1、指针经典程序交换两个数字
#include <stdio.h>#include <stdlib.h>void Swap1(int a,int b){//交换的是形参a,b的值int t;t=a; a=b;b=t;}void Swap2(int* p,int* q){int* t;t=p;p=q;q=t;//执行完后p保存的是b的地址,q保存的是a的地址,//但是主函数中的a,b的地址始终没有变,值也没有变化。//例如:a的地址是1000H,存放的值是3,b的地址是2000H,存放的值是5,//调用Swap2函数,把a的地址1000H赋给p,b的地址2000H赋给q,//经过函数执行后:p保存了b的地址(p=2000H), //q保存了a的地址(q=1000H),而对主函数中的a,b并无影响.}void Swap3(int* p,int* q){//p指向a的地址,所以*p就是a的值,q指向b的地址,所以*q就是b的值//p是int*类型,*p就是int类型int t;t=*p;*p=*q;*q=t;}int main(void){int a=3;int b=5;//Swap1(a,b);//输出的是3,5,不能实现互换//Swap2(&a,&b);//输出的还是3,5,不能实现互换Swap3(&a,&b);//实现了互换,输出是5,3printf("a=%d, b=%d\n",a,b);system("pause");return 0;}
2、*号的含义
3、如何通过被调函数修改主调函数普通变量的值
#include <stdio.h>#include <stdlib.h>void f(int* p,int* q){//p指向a的地址,*p就是a的值,改变*p的值就是改变a的值*p=1;*q=2;}int main(void){int a=3;int b=5;f(&a,&b);//把a,b的值都给修改了printf("a=%d, b=%d\n",a,b);system("pause");return 0;}
- C语言学习笔记(13指针)
- c语言指针学习笔记
- C语言指针学习笔记
- C语言指针学习笔记
- C语言指针学习笔记
- c语言学习笔记--指针
- C语言学习笔记-指针
- C语言指针学习笔记
- C语言学习:指针(笔记)
- C语言学习笔记-指针
- C语言指针学习笔记
- C语言学习笔记——指针
- C语言学习笔记(12指针)
- C语言学习笔记(14指针)
- C语言学习笔记(15指针)
- C语言学习笔记(16指针)
- C语言学习笔记(17指针)
- C语言学习笔记(18多级指针)
- MySQL display data structure using command line
- 再回首
- Tex系列: pgfplots安装
- 迅雷用户中心:解读互联网的交互设计
- 客户端访问WebService中如何【改变客户端访问时的方法名】
- C语言学习笔记(13指针)
- 这样的下午...
- C# 获取颜色集
- renren面试题--字符处理
- NoSQL学习笔记(三)之BigTable
- 设置MDI窗体
- windows内核对象
- lucene全文检索 实现一个Term对应多个值来加实现集团化的数据权限
- 获取英文大写字母附加数字的新编号