函数指针变量名-C程序设计基础教程.PPT

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数指针变量名-C程序设计基础教程

七、指针 7.1 指针概念 7.2 指针变量的定义和使用 7.3 指针与一维数组 7.4 指针与函数 7.5 指针数组、多级指针与指向一维数组的 指针 7.6 指针与字符串 讲解思想 指针说白了就是地址。指针变量就是用来存放指针(地址)的变量。 指针与数组 指针与字符串 指针与函数 学习使用每一个指针,都应该问问: 这个指针的类型是什么? 指针指向的类型是什么? 该指针指向了哪里? 7.1 指针概念 所谓指针,某种程度上就相当于地址,但要比地 址的含义更加丰富 ? 变量的指针 变量的指针指的就是该变量的首地址 ? 指针变量 指针变量是以指针(地址)为值的一种变量 ? 指针指向变量 如有普通变量x及指针变量p,且p=x; ,则称: 指针p指向变量x ? 指针变量的类型 指针变量按其所指向变量类型的不同,也分成相 应的多种不同类型,指针变量只允许指向相应类 型的变量。例如: 有定义: int a, *p; float b, *q; 则允许:p=a; q=b; 不允许:p=b; q=a; p=q; q=p; ? 空指针 指向地址为0的指针称为空指针,空指针用于表 示指向空,记为NULL,NULL是一个指针常量, 对应0地址,在头文件stdio.h中定义。 7.2 指针变量的定义和使用 ? 指针变量的定义 一般形式: 数据类型 *指针变量名; 如:int n, *p; float x, *p1, *p2; ? 取址运算符 int n, *p; p = n; ? 取值运算符* int m, n, *p; p = n; *p=5; m = *p; ? 指针使用举例 【例7.1】输入一个整数,通过指针方式赋值给另 一个变量后输出。 #include stdio.h main() { int n, m, *p; scanf( %d, n ); p = n; m = *p; printf( %d\n, m ); } ? 指针变量的初始化 int i, *p = i; char *q = abcde; 把字符串首地址赋给 q int *p = NULL; 0地址赋给 p (指向空) ? 指针必须先赋值再使用 int n, *p; 定义指针变量p *p = 5; 可怕的错误 p=n; *p=5; 先赋值再使用 7.3 指针与一维数组 7.3.1 一维数组的内存安排 int a[]={10,11,12,13,14}; int *p=a; 7.3.2 指向数组的指针运算 1. 指向数组的指针 ? 指针可以指向数组中的某个元素 int c[5], *p, *q; p = c[0]; /* 与 p = c; 等价 */ q = c[1]; ? 指向整型数组的指针与指向单个整型变量的指针 在指针类型上是一样的,都是指向整型量的指针 int n, c[5], *p, *q = c; p=n; 2. 指针的加减整数运算 指针加减一个整数,该整数表示的是该指针所指 向数据类型的数据的个数,指针实际的增加量或 减少量是该整数乘以指针所指向数据类型的长度 (字节数)。 例如:p为指针变量,则p=p+1后指向了原指向的 数据的后面一个数据的首地址。 如果p为字符型指针变量,则其增量为1字节; 如果p为整型指针变量,则其增量为2字节; 如果p为实型指针变量,则其增量为4字节。 3. 指针和所指向值的自增自减运算 ? 指针可以进行自增自减运算 设p为指针,则有: p++; ++p; p--; --p; ? 对指针所指向的值也可以进行自增自减运算,如: (*p)++; 或 ++(*p); 相当于 *p = *p + 1; (*p)--; 或 --(*p); 相当于 *p =

文档评论(0)

fengruiling + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档