第5章 指针及数组类型.pptVIP

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 指针与数组类型 1、指针的概念 2、指针变量的定义与使用 3、数组的概念 4、数组变量的定义与使用 5、二维数组与二级指针 6、动态内存分配与动态数组 7、字符数组与字符串函数 8、MAIN函数的参数与VOID指针 5.1 指针的概念 变量与地址 与*运算符 含义 直接访问与间接访问 直接访问:按变量地址存取变量值 间接访问:通过存放变量地址的变量去访问变量 5.2 指针变量的定义与使用 指针变量与其所指向的变量之间的关系 指针变量的初始化 一般形式:[存储类型] 数据类型 *指针名=初始地址值; 指针变量作为函数参数——地址传递 特点:共享内存,“双向”传递 指向函数的指针变量(指针与函数) 函数指针:函数在编译时被分配的入口地址,用函数名表示 用函数指针变量作函数参数 5.3 数组的概念 构造数据类型之一 数组:有序数据的集合,用数组名标识 元素:属同一数据类型,用数组名和下标确定 字符串 字符串及其结束标志 无字符串变量,用字符数组处理字符串 字符串结束标志:‘\0’ 例 “hello”共5个字符,在内存占6个字节 字符串长度5 h e l l o \0 104 101 108 108 111 0 内存存放字符ASCII码 字符串的输入输出 逐个字符I/O: %c 整个字符串I/O: %s 例 用%c main() { char str[5]; int i; for(i=0;i5;i++) scanf(“%c”, str[i]); for(i=0;i5;i++) printf(“%c”, str[i]); } 例 用%s main() { char str[5]; scanf(“%s”, str); printf(“%s”, str); } 用字符数组名,不要加 输入串长度数组维数 遇空格或回车结束 自动加‘\0’ 用字符数组名, 遇‘\0’结束 例 main( ) { char a[5]={‘H’,’e’,’l’,’l’,’o’}; printf(“%s”,a); } 例 main( ) { char a[ ]=“Hello”; printf(“%s”,a); } 结果:Hello#-=* h e l l o 0 2 3 1 4 结果:Hello 用“%s”输出时,遇‘\0’结束 main() { char a[]={h,e,l,\0,l,o,\0}; printf(%s,a); } 例 输出:hel h e l \0 l o \0 数组中有多个‘\0’时, 遇第一个结束 main() { int i; char a[5]; scanf(%s,a); for(i=0;i5;i++) printf(%d,,a[i]); } 运行情况: (1)若输入 hel , 正常 (2)若输入 hell , 正常 (3)若输入 hello , 用%s 输出时,会出现问题 h e l \0 h e l l \0 h e l l o 输入字符串长度数组维数 例 字符串输入举例 H o w \0 a r e \0 y o u ? \0 #include stdio.h main() { char a[15],b[5],c[5]; scanf(%s%s%s,a,b,c); printf(a=%s\nb=%s\nc=%s\n,a,b,c); scanf(%s,a); printf(a=%s\n,a); } 运行情况: 输入:How are you? 输出:a=How b=are c=you? 输入:How are you? 输出:a=How scanf中%s输入时,遇空格或回车结束 运行情况: 输入:How are you? 例 若准备将字符串“This is a string.”记录下来, 错误的输入语句为: (A)scanf(“%20s”,s); (B)for(k=0;k17;k++)

文档评论(0)

xuefei111 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档