襄樊职业技术学院:《C语言程序设计》第十讲 指针

C语言教程:指针 种量要的数英,也是C 罷够有交地表尔杂的数据 构。正确使用指钍能够写出特 别紧凑高效的程序
C语言教程:指针 学习目的:指针是经常被用到的 一种重要的数据类型,也是C语 言的一个特色内容,运用指针 能够有效地表示复杂的数据结 构。正确使用指针能够写出特 别紧凑高效的程序

指针内容介绍 1地址与指针 2指针与数组 3指针与字符串 4指针与函数 5指针数组和指向指针的指针
指针内容介绍 1 地址与指针 2 指针与数组 3 指针与字符串 4 指针与函数 5 指针数组和指向指针的指针

指针:即地址;地址:存储单元首字节的地址 指针变量:存放单元地址的变量或存放变量地址的变量, 称为指向变量的指针即指针变量。 兴访问数据两种方法: 直接,用变量名; 间接,用变量的地 址通过变量的指针 变量 Oxaa06 int a=3, p p=&a; printf( %od, %od,, a, "p) 名一18的權韩改址 苻饉单元卖量殖值
指针:即地址;地址:存储单元首字节的地址 指针变量:存放单元地址的变量或存放变量地址的变量, 称为指向变量的指针即指针变量。 访问数据两种方法: 直接,用变量名; 间接,用变量的地 址通过变量的指针 变量 int a=3,*p; p=&a; printf(“%d,%d”,a,*p); 0xaa06

指针变量在内存中用两个字节存储,分析如下 Int p printf("n%d", sizeof(p)) *与&两个运算符:*取值,运算对象是 个地址;&取址,运算对象是一个变量 ◆对*号的理解:*是取值运算符;也可以理解 为类型说明符,如 x int p, p=(int *)malloc(2) ;(float )5/2
指针变量在内存中用两个字节存储,分析如下 int *p; printf("\n%d",sizeof(p)); *与&两个运算符:*取值,运算对象是一 个地址;&取址,运算对象是一个变量 对*号的理解:*是取值运算符;也可以理解 为类型说明符,如 int *p;p=(int *)malloc(2); (float)5/2

*与&两个运算符;*取值,运算对象是一个地 址;&取址,运算对象是一个变量。对*号的 理解:*是取值运算符;也可以理解为类型说 明符。如 int*p; p=(int *)malloc(2);(float )5/2 指针变量、地址具有基类型,决定系统从该地 址处连续的几个字节中取数据,决定所指的数 据在内存中的存储结构(多少个字节,采用什 么编码表示等)
*与&两个运算符:*取值,运算对象是一个地 址;&取址,运算对象是一个变量。对*号的 理解:*是取值运算符;也可以理解为类型说 明符。如 int *p;p=(int *)malloc(2); (float)5/2 指针变量、地址具有基类型,决定系统从该地 址处连续的几个字节中取数据,决定所指的数 据在内存中的存储结构(多少个字节,采用什 么编码表示等)

例: int a=0x141, * p1 char *p2 p2 0x3001 00001 pI=&a, p2=&a printf( %od%/od,*pl, *p2); 运行结果为:32165
例: int a=0x141,*p1; char *p2; p1=&a;p2=&a; printf("%d %d",*p1,*p2); 运行结果为:321 65

个地址若没有基类型,则不能用该地址去 取值,inta;后&a的基类型是nt型 ◆可以使用(int*)对地址的基本类型进行强制 的类型转换,分析如下程序: int a=3.bcd b=&a C=*(b) d=*(int *)b printf("n%d%X. o/d" *&a, b,c, d);
一个地址若没有基类型,则不能用该地址去 取值,int a;后&a的基类型是int型。 可以使用(int *)对地址的基本类型进行强制 的类型转换,分析如下程序: int a=3,b,c,d; b=&a; c=*(b); d=*(int *)b; printf("\n%d %x %d %d",*&a,b,c,d);

指针变量的定义: 类型说明符*变量名; 例如:int*pl 对指针变量的定义包括三个内容: (1)指针类型说明,即定义变量为一个指针变量; (2)指针变量名; (3)变量值(指针)所指向的变量的数据类型 指针变量初始化的方法: nt a int p=&a
指针变量的定义: 类型说明符 *变量名; 例如: int *p1; 对指针变量的定义包括三个内容: (1)指针类型说明,即定义变量为一个指针变量; (2)指针变量名; (3)变量值(指针)所指向的变量的数据类型。 指针变量初始化的方法: int a; int *p=&a;

指针变量的引用 紫未经赋值的指针变量不能使用,否则将造成系统 混乱,甚至死机。nta=3,*p; print(“o%d*p) 指针变量的赋值只能赋予地址,决不能赋予任何 其它数据,否则将引起错误 在C语言中,变量的地址是由编译系统分配的, 对用户完全透明,用户不知道变量的具体地址, 但可以通过&运算符来得到。 鱉不允许把一个数赋予指针变量,故下面的赋值是 没有意义的、错误的:int*p;p=1000 注意:被赋值的指针变量前不能再加“*”,如 写为*p&a是错误的
指针变量的引用 未经赋值的指针变量不能使用,否则将造成系统 混乱,甚至死机。 int a=3,*p;printf(“%d”,*p); 指针变量的赋值只能赋予地址,决不能赋予任何 其它数据,否则将引起错误。 在C语言中,变量的地址是由编译系统分配的, 对用户完全透明,用户不知道变量的具体地址, 但可以通过&运算符来得到。 不允许把一个数赋予指针变量,故下面的赋值是 没有意义的、错误的:int *p; p=1000; 注意:被赋值的指针变量前不能再加“*”,如 写为*p=&a 是错误的

指针变量和一般变量 样,存放在它们之中的值 是可以改变的,也就是说 p1 可以改变它们的指向,假 设 ij,pl, p2 2 F=a;j=b; pl=&i; p2=&j 则建立如下图所示的联系
指针变量和一般变量一 样,存放在它们之中的值 是可以改变的,也就是说 可以改变它们的指向,假 设: int i,j,*p1,*p2; i='a'; j='b'; p1=&i; p2=&j; 则建立如下图所示的联系:
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 襄樊职业技术学院:《C语言程序设计》第十一讲 结构体与共用体.ppt
- 襄樊职业技术学院:《C语言程序设计》第五讲 选择结构.ppt
- 襄樊职业技术学院:《C语言程序设计》第七讲 数组.ppt
- 襄樊职业技术学院:《C语言程序设计》第八讲 编译预处理.ppt
- 襄樊职业技术学院:《C语言程序设计》第六讲 循环结构.ppt
- 襄樊职业技术学院:《C语言程序设计》第四讲 顺序结构.ppt
- 襄樊职业技术学院:《C语言程序设计》第三讲 运算符与表达式.ppt
- 襄樊职业技术学院:《C语言程序设计》第二讲 数据类型.ppt
- 襄樊职业技术学院:《C语言程序设计》第一讲 基本知识.ppt
- 计算机网络——可靠的数据流传输服务(TCP:传输控制协议).ppt
- 计算机网络——网络层(因特网基础).ppt
- 计算机网络——网络高层.ppt
- 计算机网络——数据通信基础知识.ppt
- 东南大学:《计算机组成原理》课程教学资源(PPT课件讲稿)第九章 输入输出组织、复习.ppt
- 东南大学:《计算机组成原理》课程教学资源(PPT课件讲稿)第七章 总线及总线互连结构、第八章 输入输出设备.ppt
- 东南大学:《计算机组成原理》课程教学资源(PPT课件讲稿)第四章 存储系统、第五章 指令系统、第六章 中央处理机组织.ppt
- 东南大学:《计算机组成原理》课程教学资源(PPT课件讲稿)第一章 概述、第二章 数据的表示、第三章 运算器与运算方法.ppt
- 《java认证》第11章 Java 基础类.doc
- 《java认证》第10章 AWT 组件库.doc
- 《java认证》第9章 AWT 事件模型.doc
- 襄樊职业技术学院:《C语言程序设计》第九讲 函数.ppt
- 渤海大学:《计算机导论》课程教学资源(PPT课件)第一章 计算机基础知识.ppt
- 渤海大学:《计算机导论》课程教学资源(PPT课件)第六章 PowerPoint.ppt
- 渤海大学:《计算机导论》课程教学资源(PPT课件)第三章 计算机安全.ppt
- 渤海大学:《计算机导论》课程教学资源(PPT课件)第七章 程序设计基础.ppt
- 渤海大学:《计算机导论》课程教学资源(PPT课件)第五章 Excel电子表格软件.ppt
- 渤海大学:《计算机导论》课程教学资源(PPT课件)第二章 WINDOWS2000操作系统.ppt
- 渤海大学:《计算机导论》课程教学资源(PPT课件)第四章 Word字处理软件.ppt
- 渤海大学:《计算机导论》课程教学资源(PPT课件)第八章 计算机网络基础.ppt
- 《计算机实用技术》讲义PDF电子书.pdf
- 西北工业大学:《Internet实用技术》第1章 认识Internet与Web.ppt
- 西北工业大学:《Internet实用技术》第2章 如何接入internet.ppt
- 西北工业大学:《Internet实用技术》第3章 上网浏览.ppt
- 西北工业大学:《Internet实用技术》第4章 收发电子邮件.ppt
- 西北工业大学:《Internet实用技术》第5章 文件传输与下载.ppt
- 西北工业大学:《Internet实用技术》第6章 网络寻呼与网上新闻组.ppt
- 西北工业大学:《Internet实用技术》第7章 FrontPage网页制作.ppt
- 《计算机网络技术教程》第1章 计算机网络基础.ppt
- 《计算机网络技术教程》第2章 网络体系结构、协议和软件系统.ppt
- 《计算机网络技术教程》第3章 局域网实用组网技术.ppt