单片机原理及应用技术 项目8 单片机应用系统综合设计 9-指针.pptxVIP

  • 0
  • 0
  • 约1.76万字
  • 约 53页
  • 2021-03-03 发布于北京
  • 举报

单片机原理及应用技术 项目8 单片机应用系统综合设计 9-指针.pptx

全国高等职业教育“十二五”规划教材C语言程序设计案例教程(ISBN 978-7-121-29198-2)高玉玲 王璇 主编宋维君 王书旺 副主编第九章指针知识分布网络内存0…...20002001200220032005…... 9.1为什么使用指针?9.1.1 内存与变量内存中每个字节有一个编号-----地址程序中: int i; float k; i 编译或函数调用时为其分配内存单元k变量是对程序中数据存储空间的抽象…...整型变量i200010200120022003变量i_pointe量地址(指针)指针变量2006地址存入指针变量指向…...变量值变量9.1.2 地址与指针指针:一个变量的地址指针变量:专门存放变量地址的变量叫~指针 变量的内容 变量的地址2000指针变量 9.2指针变量9.2.1指针变量的定义指针变量是专门用于存放地址的变量,C语言将它定义为“指针类型”。指针变量也是一种变量,但该变量中存放的不是普通的数据,而是地址。如果一个指针变量中存放的是某一个变量的地址,那么指针变量就指向那个变量。ii*i_pointer*i_pointeri_pointeri_pointer变量i变量iiii_pointeri_pointer2000200033i=3;i=3;*i_pointer=3*i_pointer=3*i_pointer*i_pointer指针变量与其所指向的变量之间的关系指针变量的定义一般形式: [存储类型]数据类型*指针名;例int *p1,*p2; float *q ; static char *name;表示定义指针变量不是‘*’运算符合法标识符指针变量本身的存储类型指针的目标变量的数据类型注意:1、int *p1, *p2; 与int *p1, p2;2、指针变量名是p1,p2 ,不是*p1,*p23、指针变量只能指向定义时所规定类型的变量4、指针变量定义后,变量值不确定,应用前必须先赋值例 int *p=i; int i;9.2.2指针变量的初始化一般形式:[存储类型] 数据类型 *指针名=初始地址值;例int i; int *p=i;赋给指针变量,不是赋给目标变量变量必须已说明过类型应一致例int i; int *p=i; int *q=p;用已初始化指针变量作初值例 main( ) { int i; static int *p=i; .............. } (?)不能用auto变量的地址去初始化static型指针…...整型变量i200010200120022003指针变量机2006…...9.2.3指针变量的赋值指针变量必须先赋值,再使用例 main( ) { int i=10; int *p; *p=i; printf(“%d”,*p); }危险!例 main( ) { int i=10,k; int *p; p=k; *p=i; printf(“%d”,*p); }9.2.4指针变量的运算关于指针的运算符: 与*运算符含义含义: 取变量的地址单目运算符优先级: 2结合性:自右向左含义: 取指针所指向变量的内容单目运算符优先级: 2结合性:自右向左 【实例9.1】用取地址运算符“”取变量(包括指针变量)地址。 #include stdio.h main( ) { int a,*pa; /* 定义整型变量a和指针变量pa */ pa=a; /* pa指向a*/ printf(\naddress of a:% p,a); /* 输出变量a的地址 */ printf(\npa=%p,pa); /* 输出变量pa的值 */ printf(\naddress of pa:% p,pa); /* 输出指针变量pa的地址 */ } 运行结果:address of a:FFD0 pa=FFD0address of pa:FFD4 9.2.5指针变量的引用指针变量提供了一种对变量的间接访问形式。对指针变量的引用格式为 *指针变量 【实例9.2】定义指针变量,使用指针运算符“*”进行指针变量的引用。 #include stdio.h main( ) { int i, *p; /* 定义整型变量i和指针变量p */ p=i; /* p指向i */ *p=3;

文档评论(0)

1亿VIP精品文档

相关文档