指针高级应用.ppt

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

指针的高级应用 辽宁科技大学 黄建 mtysoft@163.com 字符数组与指针6-1 字符数组与指针6-2 字符数组与指针6-3 字符数组与指针6-4 字符数组与指针6-5 字符数组与指针6-6 二级指针 指针数组6-1 指针数组6-2 指针数组6-3 指针数组6-4 指针数组6-5 指针数组6-6 整型指针数组3-1 整型指针数组3-2 整型指针数组3-3 指向一维数组的指针 四种存储结构2-1 四种存储结构2-2 指向函数的指针 返回指针的函数2-1 返回指针的函数2-2 基本数据类型 指针小结2-1 指针小结2-2 课后题:比较串长度 * * char s[4] = BOY, *p; p = s; *p = D; p++; *p = I; printf(%s, s); 1996 2000 2001 2002 2003 ?? 2000 2001 B O Y \0 I D p s[0] s[1] s[2] s[3] 栈 DIY char s[4] = BOY; char *p = BOY; s[1] = M; s[2] = W; 7000 B O Y \0 M p 栈 W B O Y \0 7000 7001 7002 7003 s[0] s[1] s[2] s[3] 堆 *p = T; 试图修改 p指向的字符串常量 char s[4], *p; strcpy(s, BOY); p = BOY; ?? ? ? ? ? p 栈 B O Y \0 7000 7001 7002 7003 s[0] s[1] s[2] s[3] 堆 1996 2000 2001 2002 2003 B O Y \0 7000 1996 2000 2001 2002 2003 char s[4], *p; ?? ? ? ? ? p 栈 B O Y \0 7000 7001 7002 7003 s[0] s[1] s[2] s[3] 堆 s = BOY; 试图修改常量s strcpy(p, BOY); p保存的地址不确定 char s[4], *p; p = s; strcpy(p, BOY); ?? ? ? ? ? p 栈 B O Y \0 7000 7001 7002 7003 s[0] s[1] s[2] s[3] 堆 2000 2001 2002 2003 B O Y \0 2000 正确: char s[4]=BOY; char s[4]={BOY}; char s[ ] = {B,O,Y,\0}; char s[4]; strcpy(s, BOY); 错误: char s[4]; s = BOY; 正确: char *p = BOY; char *p = {BOY}; char *p; p = BOY; char *p, s[4]; p = s; strcpy(p, BOY); 错误: char *p; strcpy(p, BOY); int i = 3, *p, **v; 3 2000 i p 2000 printf(%d,%d,%d,, i, *p, **v); 3,3,3, 二级指针 v = p; 3000 v 3000 4000 p = i; 指针就是数组 printf(%d,%d, p[0], v[0][0]); 3,3 3000 4000 5000 7000 7004 7008 7012 2000 char *w[4]={Interesting, Like, Love, Hate}; char **v; v = w; Interesting Like Love Hate 7000 v w w[0] w[1] w[2] w[3] 3000 4000 5000 7000 7004 7008 7012 2000 Interesting Like Love Hate 7000 v w w[0] w[1] w[2] w[3] for (i = 0; i 4; i++) printf(%s\n, w[i]); printf(%s, *v); 3000 4000 5000 7000 7004 7008 7012 2000 Interesting Like Love Hate 7000 v w w[0] w[1] w[2] w[3] printf(%c,%c, **v, **w); printf(%c,%c, v[0][0], w[0][0]); printf(%c, *(w[0]+4)); printf(%s, w[0]+4); 3000 4000 5000 7000 7004 7008 7012 2000 Interesting Like Love Hate 7000 v w w[0]

文档评论(0)

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

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

1亿VIP精品文档

相关文档