- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言ch通过指针引用字符串
char string[] = I love China!; 等价于: char string[20]; strcpy(string, I love China!); I love China! 是常量字符串 const char *p; //p是指针变量,p指向的目标空间的内容不可变化 char * const p; //p是指针常量,p的值不可变,但它指向目标的值可变 while(*srcStr != \0) 推荐= while(*srcStr != 0) (\0的ASCII代码为0)= while(*srcStr) 不推荐 [1]:char *destCopy把dest的首地址保存下来,while循环之后dest指向字符串末尾的’\0’ [2][3]:assert的作用是计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。 使用assert的缺点是,频繁的调用会极大的影响程序的性能,增加额外的开销。 在调试结束后,可以通过在包含#include 的语句之前插入 #define NDEBUG 来禁用assert调用,示例代码如下: #include #define NDEBUG #include * * * * 上一节我们学到了 指针与二维数组 a[i]=*(a+i) a[i][j]=*(*(a+i)+j) a、a+i、*(a+i)、a[i]、*(*(a+i)+j)等怎么理解 行指针与列指针 如何定义一个指向二维数组的指针 行指针:指向一维子数组,int (*p)[10]; 列指针:指向元素,int *p; 如何向函数传递一个指向二维数组的指针 * * 第8章 善于利用指针 8.1 指针是什么 8.2 指针变量 8.3 通过指针引用数组 8.4 通过指针引用字符串 8.4.1 字符串的引用方式 8.4.2 字符指针作函数参数 8.4.3 使用字符指针变量和字符数组的比较 8.5 指向函数的指针 8.6 返回指针值的函数 8.7 指针数组和多重指针 8.8 动态内存分配与指向它的指针变量 8.9 有关指针的小结 字符指针字符串(char *string) 字符串常量 strcpy源码 * * * * 回忆字符串 一串以\0结尾的字符在C语言中被看作字符串 字符串常量是用双引号括起的以‘\0’结束的一串字符。 在程序开始运行时分配在全局数据区的文字常量区,存储在无名数组中。 相同字符串常量只有一个副本。 C语言表示字符串的两种表示法 字符数组 字符指针 * * 代码区(code area) 操作系统内核区 全局数据区 堆区heap 栈区stack 文字常量区 未初始化静态变量区 已初始化静态变量区 低址 数据区 字符串常量 没有初始化的全局变量和静态变量 初始化的全局变量和静态变量 malloc() free() 局部变量 函数的二进制码 内存分配 * * char[] string 例 例8.16 int main() { char string[] = I love China!; printf(%c\n, string[7]); printf(%s\n, string); } 运行时输出: C I love China! * * char* string 例 例8.17 int main() { char *string = I love China!; printf(%s\n, string); } 把存放字符串的无名数组的首地址赋给string。 char *string = I love China!; 等价于: char *string; string = I love China!; * * 练习 下面各语句中,能正确进行字符串赋值操作的语句是( ) ?① char s[5] ={ABCDE};??????????? ② char s[5] ={A,B,C,D,E}; ③ char *s;s=ABCDE;?????????? ④ char *s;scanf(%s, s); ⑤char s[8]; s = ABCDE; Q: printf(%s\n, abc+1); 输出:bc ③ * * 8.4.2 字符指针作函数参数 例8.20 用函数调用实现字符串的复制。 (1) 用字符数组作参数。 * * strcpy函数 /* Copies the string src into the spot specified by dest; ? assumes enough room. ? 目标指针空间必须大于源字符串空间。 在调用前请确认目标指针空间是
您可能关注的文档
- chap时变电磁场.ppt
- chap整数规划.ppt
- Chap构造与析构函数.ppt
- CHAP燃气的分类及其性质.ppt
- Chap生活费用的衡量PPT.ppt
- CHAP树和叉树.ppt
- chap矿物的化学成分和内部结构.ppt
- Chap组合解释举例.ppt
- chap矩阵计算功能.ppt
- CHAP网络最大流.ppt
- DB32T3444 健康企业评估规范.pdf
- DBJ25-82-2000 甘肃省聚苯板外保温墙体设计与施工规程 甘肃省地方标准.pdf
- DB32T-核与辐射突发事件卫生应急处置技术规范 第3部分:现场流行病学调查及编制说明.pdf
- DB44T1430-2014 冷冻水产品流通冷链管理技术规范.pdf
- TCASME-监控系统安装与维护规范.pdf
- TCSAE-汽车远程升级(OTA)信息安全测试规范.pdf
- TJSSAE-智能网联汽车开放道路测试管理要求及编制说明.pdf
- TEERT-挥发性有机物污染治理设施工况自动监控技术规范.pdf
- TCASME-三跨连续节段梁悬浇施工技术规范.pdf
- DB36T-行政执法案卷评查规范编制说明.pdf
最近下载
- (完整版)初三化学方程式大全.pdf
- 卫健委临检中心 15项临床检验质量控制指标——解读与应用.pptx VIP
- GB/T 14165-2008_金属和合金 大气腐蚀试验 现场试验的一般要求.pdf
- NB∕T11502-2024光伏光热一体组件和空气源热泵联合热水系统通用技术条件.pdf
- 抖音粉丝群体数据分析报告.pptx
- 【国家标准】QBT 3826-1999 轻工产品金属镀层和化学处理层的耐腐蚀试验方法 中性盐雾试验(NSS)法.pdf
- 足部特效反射区疗法一览表 附足底穴位图.doc
- 按次收费合同5篇.docx VIP
- 棋类运动协会章程.docx
- 口腔科的2024年工作总结6篇.docx VIP
文档评论(0)