- 1、本文档共108页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 6.小写字母转换成大写字母函数 strupr( ) 调用格式: 功能:将str字符串中的小写字母转换成大写字母。 输出结果: PASCAL 例如: char ch[10]=pascal; printf(%s,strupr(ch)); strupr(str) * 4.3.4 字符串数组 程序设计中经常要用到字符串数组。可用二维字符数组的形式建立字符串数组,行下标决定字符串的个数,列下标决定串的最大长度。 例如: char str_array[30][80]; 定义了一个字符串数组,它可存放30个字符串,串的最大长度为80个字符。 要访问单独的字符串,只需标明行下标就可以了。例如: gets(str_array[2]); 该语句在功能上等价于: gets(str_array[2][0]); * (1)指针与整数的加减运算 指针变量加上或减去一个整数n,是指针由当前所指向的位置向前或向后移动n个数据的位置。 通常这种运算用于指针指向一个数组中。 由于各种类型的数据的存储长度不同,因此在数组中加减运算使指针移动n个数据后的实际地址与数据类型有关。 对指针p进行±n操作后的实际地址值是: p±n*sizeof(数据类型)。 4.4 指针与数组 4.4.1 指针运算 1. 算术运算 * (2)自增自减运算 指针变量自增、自减运算也是地址运算,指针加1运算后指针指向下一个数据,指针减1运算后,指针指向上一个数据的起始位置。 (3)两个指针相减运算 两个指针相减的运算只能在同一种指针类型中进行,它们主要应用于对数组的操作,其结果是一个整数而不是指针。 例如:p1和p2是指向同一数组中不同或相同元素的指针(p1小于或等于p2),则p2-p1的结果为p1和p2之间间隔元素的数目n。 4.4 指针与数组 4.4.1 指针运算 * 指针的关系运算表示它们所指向的地址之间的关系。两个指针应指向同一个数组中的元素,否则运算结果无意义。指针间允许4种关系运算: 或 比较两指针所指向的地址的大、小关系。 ==或!= 判断两指针是否指向同一地址,即是否指向同一数据。 4.4 指针与数组 4.4.1 指针运算 2. 关系运算 * 例如,指针p1,p2指向数组中的第i、j元素,则下列表达式为真的含义为: (1)p1p2(或p1p2)。表示p1所指元素位于p2所指元素之前(或表示p1所指元素位于p2所指元素之后)。 (2)p1= =p2(或p1!=p2)。表示p1和p2指向同一个数组元素的地址(或表示p1和p2不指向同一个数组元素的地址)。用于判断指针p是否为NULL指针。 4.4 指针与数组 4.4.1 指针运算 2. 关系运算 * 指针不能与一般数值进行关系运算,但指针可以和零(NULL字符)之间进行等于或不等于的关系运算,如: p==0; p!=0; 或p==NULL; p!=NULL; 4.4 指针与数组 4.4.1 指针运算 2. 关系运算 * 数组名是个不占内存的地址常量,它代表整个数组的存储首地址。 a是数组的首地址(即a[0]的地址)。 a = a[0],a+1 = a[1], … ,a+9 = a[9] 数组元素的下标表示法: a[0],a[1], … ,a[i], … ,a[9] 数组元素的指针表示法: *(a+0),*(a+1), … ,*(a+i), … ,*(a+9) 4.4 指针与数组 4.4.2 指向一维数组的指针 1. 一维数组的地址 例如: int a[10],*p; * a[0] a[9] p 4.4 指针与数组 4.4.2 指向一维数组的指针 2. 一维数组指针的定义 由于数组元素也是一个内存变量,所以此类指针变量的定义和使用与指向变量的指针变量相同。例如: int a[10],*p; p = a;(或 p = a[0];) 也可以在指针定义的同时进行。例如: int a[10]; int *p=a; /*指针的初始化*/ a * 对于指向一维数组的指针p,它所指向的变量(即*p)的数据类型必须与这个一维数组的数组元素类型一致。例如,下面语句是错误的: float a[30]; int *p=a[0]; /*指向整型的指针不能指向数组元素类型为单精度的一维数组*/ 4.4 指针与数组 4.4.2 指向一维数组的指针 2. 一维数组指针
您可能关注的文档
- 农产品质量安全第五章-农产品产地安全.ppt
- 农业经济学第十一章-农业产业化经营.ppt
- 欧洲文化概况-课件.ppt
- 商务翻译(汉译英)Unit7刷卡-消费趋势?.ppt
- 商务函电Correspondence5-Trade-Promotion(促销).ppt
- 外国民商法概述-课件.ppt
- 文艺复兴时期的艺术(英文).ppt
- 学前教育学(第3版)第五章幼儿园的社会教育.pptx
- 鱼类养殖学第十章稻田养鱼(2学时).ppt
- 语文教学论-全套课件.ppt
- 《GB/T 12668.7202-2024调速电气传动系统 第7-202部分:电气传动系统的通用接口和使用规范 2型规范说明》.pdf
- 《GB/T 15692-2024制药机械 术语》.pdf
- GB/T 15692-2024制药机械 术语.pdf
- 中国国家标准 GB/T 15692-2024制药机械 术语.pdf
- GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求.pdf
- 中国国家标准 GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求.pdf
- 《GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求》.pdf
- 《GB/T 30117.1-2024非相干光产品的光生物安全 第1部分:通用要求》.pdf
- 《GB/T 33348-2024高压直流输电用电压源换流器阀 电气试验》.pdf
- GB/T 33348-2024高压直流输电用电压源换流器阀 电气试验.pdf
文档评论(0)