- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言第8章 zz指针
第8章 指针 8.1.1变量的地址和指针的概念 指针的概念 指针的定义: 一个变量的地址称为该变量的指针。指针变量的值就是一个存储单元的地址。 指针的概念 指针变量的定义 指针变量的定义 指针变量是专门用来存放变量的地址的(即指针的)。 指针变量的定义 指针变量的定义形式 类型名 *指针变量名1[,*指针变量名2,......]; 指针变量的赋值 指针变量的初始化 方法一:通过取地址运算()获得地址值 一个变量被定义之后,编译系统会分配一个确定的地址。 例: 变量名 设a,b是已定义过的变量,则a表示变量a的地址,b表示变量b的地址。 (1)指针变量初始化的方法,即定义指针变量同时赋初值。 注意:不允许把一个具体的数赋值给指针变量。 方法二:利用另一个指针变量赋值 可以把一个已经赋过值的指针变量的值付给另一个指针变量,从而使这两个指针变量指向同一个变量。 指针变量的引用 指针变量的引用:和*运算符 指针变量的引用 指针变量的引用 指针变量的引用 指针变量的引用 变量的指针和指向变量的指针变量 注意:指针变量必须先赋值,再使用 指针变量的运算 1-指针的移动 指针变量的运算 2-指针变量相减 指针变量的运算 3-指针的比较 若p1和p2指向同一数组,则 p1p2 表示p1指的元素在前 p1p2 表示p1指的元素在后 p1==p2 表示p1与p2指向同一元素 若p1与p2不指向同一数组,比较无意义 指针变量的运算 空指针 指针变量做为函数参数 指针变量作为函数参数 指针变量作为函数参数 指针变量作为函数参数 指针变量作为函数参数 8.2一维数组的指针和数组的指针变量 8.2.1 数组元素的指针 指向数组元素的指针变量的定义与赋值 指针变量的赋值运算小结 p=a; (将变量a地址?p) p=array; (将数组array首地址?p) p=array[i]; (将数组元素地址?p) p1=p2; (指针变量p2值?p1) 不能把一个整数?p,也不能把p的值?整型变量 8.2.2 通过指针引用数组元素 通过指针引用数组元素 通过指针引用数组元素 通过指针引用数组元素 通过指针引用数组元素 通过指针引用数组元素 通过指针引用数组元素 通过指针引用数组元素 通过指针引用数组元素 数组名作函数参数 8.3 二维数组的指针和指向数组的指针变量 8.3.1二维数组的指针 二维数组的指针和指向数组的指针变量 二维数组的指针和指向数组的指针变量 二维数组的理解 二维数组的指针和指向数组的指针变量 二维数组的行指针和列指针 对二维数组 int a[3][4],有 a-----二维数组的首地址,即第0行的首地址 a+i-----第i行的首地址 a[i] ? *(a+i)------第i行第0列的元素地址 a[i]+j ? *(a+i)+j -----第i行第j列的元素地址 *(a[i]+j) ? *(*(a+i)+j) ? a[i][j] 二维数组的指针和指向数组的指针变量 二维数组的指针和指向数组的指针变量 指向二维数组元素的指针变量 二维数组的指针和指向数组的指针变量 指向由m个数组元素组成的一维数组的指针变量 定义形式: 数据类型 (*指针名)[一维数组维数]; 二维数组的指针和指向数组的指针变量 可让p指向二维数组某一行 二维数组的指针和指向数组的指针变量 二维数组的指针和指向数组的指针变量 指针数组 定义:数组中的元素为指针变量 定义形式: 数据类型 *数组名[数组长度]; 二维数组的指针和指向数组的指针变量 用指针数组处理二维数组 二维数组的指针和指向数组的指针变量 小结:指向一维数组的指针变量和指针数组处理二 维数组小结 二维数组的指针和指向数组的指针变量 二维数组的指针作函数参数 7.5 函数指针和指向函数的指针变量 函数指针: 函数在编译时被分配的入口地址,用函数名表示。 函数指针和指向函数的指针变量 指向函数的指针变量: 定义形式: 数据类型 (*指针变量名)(); 函数指针变量赋值:如p=max; 函数调用形式: c=max(a,b); ? c=(*p)(a,b); 注意:函数指针变量p?n, p++, p--无意义 函数指针和指向函数的指针变量 函数指针和指向函数的指针变量 注意: int (*pmax)() 不要写成 int *pmax( ) pmax=max:表示pmax和max都指向函数的开头 用函数指针变量调用函数,和用函数名调用函数是一样的。 调用函数的一般形式为:(*指针变量)(实参表)
文档评论(0)