- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8指针(new)
指 针 李飞 指针 指针和指针变量 指针与数组 指针与函数 1。指针和指针变量 指针和指针变量的概念: 内存的两种存取方式 :直接与间接 基本概念 内存单元:内存是由若干个内存单元组成的,一个内存单元的空间就是一个字节。 地址:每个内存单元都有一个编号,这个编号就是地址。 指针:一个变量所占内存单元的地址称为该变量的指针。 指针变量:用于存放地址的变量称为指针变量。 指向:如果一个指针变量p的值是变量a的地址,通过p能找到a的地址,就称指针变量p指向变量a。 指针变量的定义 基本运算 取地址运算符(得到变量的地址) * 指针运算符(得到指针变量所指向的变量) 说明:“”和“*”两个运算符的优先级相同,都是右结合性 如果有下面定义: int *p, a; p=a; 则下面描述是否正确? 2。 指针和数组 二. 数组元素的引用 字符串与指针 指针变量作函数参数 指针变量作函数的参数是“单向的地址值”的传递。 形参为指针变量,实参为某变量的地址。 了解以下内容: 二级指针 多维数组与指针 函数和指针 带有参数的main函数 二级指针 指向指针变量的指针变量 int *p, a; p=a; 指针数组 一个数组,其元素均为指针类型数据 类型名 *数组名[数组长度] int * name[4] ; 它适合于用来指向若干个字符串,使字符串处理更方便;比用字符数组节省空间; 指针数组的元素也可以指向整型或实型数据 总结 定义: int *p; int *p[n]; int (*p)(); int **p; 指针运算: * 例10.25 编写一个函数int strend (char *s,char *t) 判断s是否以 t 结尾(后缀) 分析: 若 s 以 t 结尾,则s的后几个字符与 t 相同。可以先将 s 和 t 的最后一个字符比较,若相同,则比较倒数第2个,否则返回结果。依此类推,直到比较了所有的字符为止。 定位到 s 和 t 的最后一个字符 取倒数第 i 个字符(i 为1、2、…) 比较 *s 和 *t 若 *s != *t,返回“否” 若遇到 s 或 t 的结束符,退出循环 若 t 结束,则返回“是” 否则返回“否” int strend(char *s, char *t) { char *p = s; char *q = t; while(*p) p++; while(*q) q++; while(*p-- = = *q--) if(*p = = *s || *q = = *t) break; if( *p = = *q *q = = *t ) return 1; else return 0; } a p q a p int **q; q=p; 指针与函数 1指向函数的指针 1. 函数指针变量的定义 函数指针变量定义的一般形式: 数据类型标识符 (*函数指针变量名)( ); 其中“*函数指针变量名”必须用圆括号括起来,否则就成为声明一个指针型函数了。在定义中“(*函数指针变量名)”右侧的括号“( )”表示指针变量所指向的目标是一个函数,“数据类型标识符”是定义指针变量所指向的函数的类型。例如: int (*p)( ); /*p是一个指向整型函数的指针变量*/ float (*q)( ); /*q是一个指向单精度实型函数的指针变量*/ 在C语言中,函数名具有与数组名类似的特性,数组名代表数组的首地址,函数名代表函数的起始地址(即该函数的程序代码段在内存中所占用的存储空间的首地址,也称函数入口)。因此也可以把函数名赋给一个函数指针变量,使其成为指向该函数的指针变量。函数名则可以看成是函数指针常量。 指针与函数 main( ) {int max(int x,int y ),a,b,c; int (*p)( ); /*定义p为指向整型函数的指针变量*/ p = max; /* 用指针变量存储函数入口地址 */ scanf(“%d%d”,a,b); c=(*p)(a,b); /* 用指针变量调用函数 */ printf(“max=%d”,c); } max(int x,int y) /* 函数名是函数的入口地址 */ {if(xy) return(x); else return(y); } 由于优先级的问题,()是必须的 目标函数必须要事先声明,即使是整型函数也要声明 (*p)中( )是必须的,实参表应与函数的形参表一一对应 Lfay 计算机基础教研室 * 主要内容: main() { float
文档评论(0)