第十章指针的高级主题zd概论.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
命令行:在操作系统状态下,为执行某个程序而键入的一行字符 命令行一般形式:命令名 参数1 参数2………参数n main(int argc, char *argv[]) { ……… } 命令行参数传递 带参数的main函数形式: C:\TC copy[.exe] source.c temp.c 有3个字符串参数的命令行 命令行中参数个数 元素指向命令行参数 中各字符串首地址 形参名任意 命令行实参 main(形参) 系统自动调用 main函数时传递 第一个参数: main所在的可执行文件名 命令行参数 小结 定义 含义 int i; int *p; int a[n]; int *p[n]; int (*p)[n]; int f(); int *p(); int (*p)(); int **p; 定义整型变量i p为指向整型数据的指针变量 定义含n个元素的整型数组a n个指向整型数据的指针变量组成的指针数组p p为指向含n个元素的一维整型数组的指针变量 f为返回整型数的函数 p为返回指针的函数,该指针指向一个整型数据 p为指向函数的指针变量,该函数返回整型数 p为指针变量,它指向一个指向整型数据的指针变量 * * 第十章 指针的高级主题 本章主要任务(掌握): 1、指针与二维数组; 2、 (掌握)指针数组。 3、 (掌握)指向指针的指针。 4、 (掌握)函数的指针和指向函数的指针变量。 5、 (掌握)命令行参数。 对于一维数组: (1)数组名array表示数组的首地址,即array[0]的地址; (2)数组名array是地址常量 (3)array+i是元素array[i]的地址 (4)array[i] ? *(array+i) array int array[10]; 指针与二维数组 对于二维数组: (1)a是数组名, 包含三个元素 a[0],a[1],a[2] (2)每个元素a[i] 又是一个一维 数组,包含4个 元素 a a+1 a+2 *(*(a+0)+1) *(a[0]+1) int a[3][4]; a[0] a[1] a[2] 2000 2008 2016 2000 2002 2008 2010 2016 2018 a[0][0] a[0][1] a[1][0] a[1][1] a[2][0] a[2][1] a[0][2] a[0][3] a[1][2] a[1][3] a[2][2] a[2][3] 基类型 a[0]+1 a[1]+1 a[2]+1 *(a+0)+1 *(a+1)+1 *(a+2)+1 行指针与列指针(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] a+i=a[i]=a[i]=*(a+i) =a[i][0], 值相等,含义不同 a+i ? a[i],表示第i行首地址,指向行 a[i] ? *(a+i) ? a[i][0],表示第i行第0列元素地址,指向列 int a[3][4]; a[0] a[1] a[2] 2000 2008 2016 2000 2002 2008 2010 2016 2018 a[0][0] a[0][1] a[1][0] a[1][1] a[2][0] a[2][1] a[0][2] a[0][3] a[1][2] a[1][3] a[2][2] a[2][3] a a+1 a+2 行指针与列指针(2) int a[3][4]; a[0][0] a[0][1] a[1][0] a[1][1] a[2][0] a[2][1] a[0][2] a[0][3] a[1][2] a[1][3] a[2][2] a[2][3] 二维数组元素表示形式: (1)a[1][2] (2)*(a[1]+2) (3)*(*(a+1)+2) (4)*(a[0][0]+1*4+2) 地址表示: (1) a+1 (2) a[1][0] (3) a[1] (4) *(a+1) (5)(int *) (a+1) 行指针 列指针 地址表示: (1) a[1][2] (2) a[1]+2 (3) *(a+1)+2 (4)a[0][0]+1*4+2 行指针与列指针(3) 表示

文档评论(0)

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

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

1亿VIP精品文档

相关文档