下载此文档

C语言_ch08_4_通过指针引用字符串-课件(PPT·精·选).ppt


文档分类:IT计算机 | 页数:约30页 举报非法文档有奖
1/30
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/30 下载此文档
文档列表 文档介绍
2017-1-17 1上一节我们学到了?指针与二维数组? 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; ?如何向函数传递一个指向二维数组的指针 2017-1-17 2 第8章善于利用指针? 指针是什么? 指针变量? 通过指针引用数组? 通过指针引用字符串? 字符串的引用方式? 字符指针作函数参数? 使用字符指针变量和字符数组的比较? 指向函数的指针? 返回指针值的函数? 指针数组和多重指针? 动态内存分配与指向它的指针变量? 有关指针的小结?字符指针字符串( char * string ) ?字符串常量? strcpy 源码 2017-1-17 3 2017-1-17 4回忆字符串?一串以'\0' 结尾的字符在 C语言中被看作字符串?字符串常量是用双引号括起的以‘\0 ’结束的一串字符。?在程序开始运行时分配在全局数据区的文字常量区,存储在无名数组中。?相同字符串常量只有一个副本。?C语言表示字符串的两种表示法?字符数组?字符指针 2017-1-17 5 代码区( code area ) 操作系统内核区全局数据区堆区 heap 栈区 stack 文字常量区未初始化静态变量区已初始化静态变量区低址数据区字符串常量没有初始化的全局变量和静态变量初始化的全局变量和静态变量 malloc() free() 局部变量函数的二进制码内存分配 2017-1-17 6 char[] string 例? int main() { char string[] = "I love China!"; printf("%c\n", string[7]); printf("%s\n", string); }运行时输出: C I love China! 2017-1-17 7 char * string 例? int main() { char * string = "I love China!"; printf("%s\n", string); } ?把存放字符串的无名数组的首地址赋给 string 。? char * string = "I love China!"; 等价于: char * string; string = "I love China!"; 2017-1-17 8练****下面各语句中,能正确进行字符串赋值操作的语句是() ① 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 ③ 2017-1-17 字符指针作函数参数? 用函数调用实现字符串的复制。 (1) 用字符数组作参数。 2017-1-17 10 strcpy 函数/*Copies the string src into the spot specified by dest; assumes enough room. 目标指针空间必须大于源字符串空间。在调用前请确认目标指针空间是否大于源字符串的空间。*/void MyStrcpy( char dstStr[], char srcStr[]) {int i = 0; while ((dstStr[i] = srcStr[i] ) != '\0') { ++i; } }

C语言_ch08_4_通过指针引用字符串-课件(PPT·精·选) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数30
  • 收藏数0 收藏
  • 顶次数0
  • 上传人aidoc3
  • 文件大小0 KB
  • 时间2016-04-26