c语言中指针论文,指针是C语言中的一个重要的概念(论文资料).ppt

本文详细探讨了C语言中的指针概念,包括指针变量的定义、引用、作为函数参数的难点。通过实例解析内存访问方式,展示了如何通过指针操作变量和内存地址,以及其在高效编程中的关键作用。掌握指针是C语言核心技能的关键
摘要由CSDN通过智能技术生成

指针是C语言中的一个重要的概念(论文资料).ppt

第十章 指针 指针是C语言中的一个重要的概念,也是c语言的一个重要特色。正确而灵活地运用它,可以有效地表示复杂的数据结构;能方便地使用字符串;有效而方便地使用数组;在调用函数时能得到多个的值;能直接处理内存地址等,这对设计系统软件是很必要的。掌握指针的应用,可以使程序简洁、紧凑、高效。每一个学习和使用C语言的人,都应当深入地学习和掌握指针。可以说,不掌握指针就不掌握C语言的精华。 重点: 1、指针的概念; 2、指针变量的概念; 3、指针变量的定义及引用; 4、指针变量作为函数的参数; 难点: 指针变量作为函数的参数 10.1 指针的概念 一、内存的访问方式 1、直接访问(通过变量名对内存单元进行存取操作。) 10.1 指针的概念 10.1 指针的概念 两个概念: (1)指针──即地址 一个变量的地址称为该变量的指针。通过变量的指针能够找到该变量。 (2)指针变量──专门用于存储其它变量地址的变量 指针变量i_p的值就是变量i的地址。 10.2 变量的指针和指向变量的指针变量 变量的指针就是变量的地址,存放变量地址的变量就是指针变量。为表示指针变量和它指向的变量之间的关系,用指针运算符“*”表示。 即:*(i_p)就是i_p所指向的变量。 10 . 2 变量的指针和指向变量的指针变量 1、指针变量的定义 一般形式: 类型标识符 *变量名 如:int *p1; char *p2; float *p3; 说明: *表示该变量为指针型变量,指针变量名为p1,p2,p3 定义指针变量时必须指定基类型。它表示指针变量中存放的地址所指向的是什么类型的数据。 给指针变量赋值: 如:p1=&i (将i的地址赋给p1) 注:一般不直接赋数值 2、指针变量的引用 用指针变量对变量赋值: 如: int i , j , *p; p=&i; *p=3; j=*p+2; 注意:p是地址变量,而*p 是非地址变量,与i是一回事。 “*”:为指针运算符或叫指向运算符、间接运算符。 例10.1 通过指针变量访问整型变量 main() {int a,b; int *pointer_1, *pointer_2; a=100;b=10; pointer_1=&a; /*把变量a的地址赋给pointer_1*/ pointer_2=&b; /*把变量b的地址赋给pointer_2*/ printf (”%d,%d\n”, a,b); printf (”%d,%d\n”, *pointer_1,*pointer_2); } 关于运算符&和 * 的几点说明: (1)结合性 &和*两运算符的优先级相同,但结合方向为自右向左 如:int a, b, *p1, *p2; p1=&a; p2=&b; &*p1的含义? &*p1相当于&(*p1),等于 &(*p1)=&(a)=&a=p1 *&a的含义? *&a相当于*(&a)=*(p1)=a (2)优先级 处于第二位(见附录) (3) 自增自减运算 如: int a,b,*p; p=&a; a=3; b=5; (*p)++:相当于 a++ ,a=4 *p++:相当于*(p++) ,先求*P的值(为3),然后P再++,若p原为1000, 则p++为1002,即P不再指向a了。 若float a,*p; p=&a; 当p为1000,则p++为1004 例10.2 输入a和b两个整数,按先大后小的顺序输出a和b。 main ( ) { int *p1,*p2,*p, a, b; scanf ("%d,%d“,&a,&b); p1=&al; p2=&b; if (a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值