- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
六、指针数组与数组指针 指针数组:基类型为指针的数组 int *a[5]; a 数组指针:基类型为数组的指针 int (*b)[5]; int array[5]; b = array; …… §6.4 字符串 一、字符串 字符串:由字符组成,以‘\0’(字符串结束符,其ASCII码值为0) 结束。 例:“China” 存储组织为: 字符串长度:所有字符的个数(不包括结束符)。 字符串的初始化 例:char str[] = { “I am happy” } ; //字符串长度10,数组长度11 char str[] = “I am happy” ; char str1[] = {‘I’, ‘ ’, ‘a’, ‘m’, ‘ ’, ‘h’, ‘a’, ‘p’, ‘p’, ‘y’}; //数组长度10 ‘C’ ‘h’ ‘i’ ‘n’ ‘a’ ‘\0’ 二、字符数组和字符指针 字符数组 字符指针 定义 char str[数组长度]; char *s; 内存分配 占用一段连续的 存储空间 占用一个指针长 度的存储空间 变量名的使用 str是地址常量,不能用于赋值号的左边 指针名代表“地址”,只有让它指向一个明确的对象时,才有指向,是地址变量 赋初值 (1) char str[]=“china”; (2) char str[80]; str = “china”; (1) char *s =“china”; (2) char *s ; s = “china” ; 与(1)等价 赋值 (1) 对字符数组的各个元素赋值: str[k] = ‘a’ ; (2)使用库函数: strcpy(str, “china”); (1)直接用赋值号对整个字符串赋值: s = “china” ; (2)当使用库函数时,指针s必须已指向一个明确对象: s=str; strcpy(s, “china”); s str 例:字符串的复制 例1: #include iostream.h void copy_string(char from[], char to[]) { int k = 0; while (from[k] != ‘\0’) { to[k] = from[k]; k++; } to[k] = ‘\0’; } main() { char a[]=“I am a teacher”; char b[20]; copy_string(a,b); coutb; return 1; } 例2: void copy_string(char *from, char *to) { int k = 0; while ((to[k] = from[k])!= ‘\0’) k++; } 例3: for (; *from != ‘\0’; from++, to++) *to = *from; *to = ‘\0’; 例4: while ((*to = *from)!= ‘\0’) { from++; to++; } 例5: while (( *to++ = *from++) != ‘\0’); ?*(to++)= *(from++) ?(1) *to = *from (2)判断*to != ‘\0’ (3)to=to+1;from=from+1 例6: while ( *to++ = *from++) ; §6.5 指向对象的指针 一、对象指针 若声明的一个指针的基类型是一个类类型,那么这个指针称为对象指针,它指向一个类对象。如 CIRCULAR_NUMBERS* angle_ptr; CIRCULAR_NUMBERS angle(0, 359, 250); angle_ptr = angle ; 通过对象指针来访问对象的成员时,必须使用成员指针运算符 - angle_ptr-increment(); ? angle.increment(); this 指针 C++为每个对象提供一个指针this,记录该对象的地址,当通过对象来调用类的成员函数时,this作为一个隐式参数传递给成员函数 this的性质 隐式指针,不能显式声明 常指针,不能被修改,当一个类对象被创建时,this就被初始化为指向该对象的指针 this是一个局部变量,局部于某个对象,在该类的任何非静态成员函数中可见。 例2: int C::get_value( ) { return value; ? return this-value; } set_mode()代码
您可能关注的文档
最近下载
- 《空间解析拙政园》课件.ppt VIP
- QCR9228-2015铁路通信、信号、电力、电力牵引供电施工机械配置技术规程.pdf
- [优秀QC成果]提高砂层地质条件下地连墙施工质量.pdf
- 员工培训方案及课程大纲[9篇].docx VIP
- 中国共产党纪律处分条例全面解读新修订纪律处分条例重点内容学习解读专题ppt.pptx VIP
- EPC项目设计管理培训.pptx
- 中国共产党纪律处分条例全面解读新修订纪律处分条例重点内容学习ppt.pptx VIP
- 国际性教育技术指导纲要 -采用循证方式.docx
- 2025年兵棋章节答案.docx VIP
- 党支部议事规则和决策程序规章制度范文(精选10篇).pdf VIP
文档评论(0)