- 1
- 0
- 约1.53万字
- 约 66页
- 2018-05-03 发布于四川
- 举报
第10章 指针和指针变量.ppt
第一节 指针概述 第二节 指针变量 第三节 指针与数组 第四节 指针与字符串 一、地址 在程序中所定义的变量,编译系统会根据变量的类型,分配一定长度的存储空间。内存中每一个字节有唯一编号。如: int a 2个字节 float b 4个字节 char c 1个字节 二、访问变量的方式 直接访问方式 按变量的名字存取变量的值 。 例如:printf(%f,b); scanf(“%d”,a); 间接访问方式 按变量的地址存取变量的值。 例如:假设变量pa的地址为1000,用变量pa来存放变量a的地址a,此时pa的值为2000。如果要得到a的值,可以先访问变量pa,得到pa的值为2000(变量a的地址),再通过地址2000找到所指存储单元中的值(a的值),见图。 pa(1000) a 三、指针 一个变量的地址称为该变量的指针。如地址2000是变量a的指针,2002是变量b的指针。 四、指针变量 如果有一个变量专门用来存放另一个变量的地址(即指针),称为指针变量。如pa是一个指针变量,pa中的值为指针。 注意:指针和指针变量的概念 一、指针变量的定义 二、指针变量的引用 三、指针作为函数的参数 一、指针变量定义 类型说明符 *标识符; 例如: int *p1,*p2; int—p1,p2是指向整型变量的指针变量。 *—指针标记。 p1,p2—指针变量名。 说明 指针可以指向任何类型的对象。 在定义了一个指针变量p1,p2以后,系统为这个指针变量分配一个存储单元(一般为2个字节)用来存放地址。 例如 int a,b; int *p1,*p2; p1=a; p2=b; 二、指针变量的引用 :取变量地址运算符 *:“指向”运算符或称“间接访问”运算符 例如: a为变量a的地址。 *p为指针变量p所指向的变量。如果有p=a,则*p就是a。 例10-1 main( ) {int a,*pa; float b,*pb; a=10;b=1.5; pa=a; pb=b; printf(%d,%f\n”,a,b); printf(%d,%f\n”,*pa,*pb); } 说明: 执行了pa=a;后,*pa的含义? 与a相同。 *a的含义? 即a,*pa。 (*pa)++相当于 a++ *pa++ 相当于*(pa++),即先取*pa,即a的原值,之后pa自增,不再指向a了。 例10-2指针变量应用的例子,由大到小输出a,b。 main() {int a,b,*p,*pa,*pb; a=3;b=6; pa=a; pb=b; if(ab) { p=pa; pa=pb; pb=p;} printf(%d%d\n,a,b); printf(%d%d\n,*pa,*pb); } 三、指针变量作为函数的参数 函数的参数也可以是指针类型,实际参数可以是地址常量或指针变量,形式参数则为指针变量。这种传递也是值传递,即将实参指针变量的值传给对应的形参。但是由于指针变量存放的是地址值,作为函数的参数来进行传送的是实参的值--变量的地址。 例10-3 用函数来实现两个数由大到小顺序输出。 void swap(p1,p2) int *p1,*p2; { int temp; temp=*p1; *p1=*p2; *p2=temp; } main( ) { int a=3,b=5; int *pa,*pb; pa=a; pb=b; if(ab) swap(pa,pb); printf(%d,%d\n,a,b); printf(%d,%d\n,*pa,*pb); } 例10-3 用函数来实现两个数由大到小顺序输出。 void swap(p1,p2) int *p1,*p2; { int temp; temp=*p1; *p1=*p2; *p2=temp; } main( ) { int a=3,b=5; int *pa,*pb; pa=a; pb=b;
您可能关注的文档
- 空气动力学 北航 第5章.ppt
- 空间陈设艺术第三章.ppt
- 立体的宇宙.ppt
- 笔迹分析测评课件资料.ppt
- 第 11 讲上生态.ppt
- 第 12 章 软件安装和内核升级.ppt
- 第 2 章 数据通信基础(N).ppt
- 第 3 章 以太网(N).ppt
- 第 7 章 (新)参数估计.ppt
- 第 8 讲免疫.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 课题申报书:四川方言口传文化的传承普及与乡土记忆重建研究.docx VIP
- 医院中层干部考核细则一.doc
- 公司生产安全事故应急预案(按照新导则GBT 29639-2020编制).pdf VIP
- 作业批改系统论文.doc VIP
- DB37_T 4406.1-2021 政法机关刑事案件网上协同指南 第1部分:基础数据规范.docx VIP
- DB37_T 4413.4-2021 生态环境数据共享技术规范 第4部分:土壤.docx VIP
- DB11_T 1820-2025 控制性详细规划(街区层面)环境影响评价技术指南.pdf VIP
- DB11_T 1455-2025 电动汽车充电基础设施规划设计标准.pdf VIP
- DB11_T 1033-2025 工业射线探伤辐射安全和防护分级管理要求.pdf VIP
- 北京市西城区2025-2026学年高三(上)期末历史+答案.pdf
原创力文档

文档评论(0)