第八章:指针05
让编程改变世界
Change the world by program
字符串与指针
(1) 用字符数组存放一个字符串,然后输出该字符串。
例题一:定义一个字符数组,对它初始化,然后输出该字符串。 例题一源码分析学习!(点击下载源代码) [caption id="attachment_157" align="aligncenter" width="300"] 用字符数组存放一个字符串,然后输出该字符串[/caption](2) 用字符指针指向一个字符串
例题二:可以不定义字符数组,而定义一个字符指针。用字符指针指向字符串中的字符。 例题二源码分析学习!(点击下载源代码)字符串中字符的存取方法
对字符串中字符的存取,可以用下标方法,也可以用指针方法! 下标法举例: 将字符串a复制为字符串b [codesyntax lang="c"]#include <stdio.h> void main() { char a[] = "Fishc.com is a good web site!", b[40]; int i; for(i=0; *(a+i) != '�'; i++) { *(b+i) = *(a+i); } *(b+i) = '�'; printf("String a is: %sn", a); printf("String b is: "); for(i=0; b[i] != '�'; i++) { printf("%c", b[i]); } printf("nn"); }[/codesyntax] 指针方法举例: 将字符串a复制为字符串b [codesyntax lang="c"]
#include <stdio.h> void main() { char a[] = "Fishc.com is a good web site!", b[40], *p1, *p2; int i; p1 = a; p2 = b; for( ; *p1 != '�'; p1++, p2++) { *p2 = *p1; } *p2 = '�'; printf("String a is: %sn", a); printf("String b is: "); for(i=0; b[i] != '�'; i++) { printf("%c", b[i]); } printf("n"); }[/codesyntax]
字符指针作函数参数
例题三:用函数调用实现字符串的复制
(1)用字符数组作参数 [codesyntax lang="c"]#include <stdio.h> void main() { void copy_string(char from[], char to[]); char a[] = "I am a teacher."; char b[] = "You are a student."; printf("string a = %snstring b = %sn", a, b); printf("copy string a to string b:n "); copy_string(a, b); printf("nstring a = %snstring b = %sn", a, b); } void copy_string(char from[], char to[]) { int i = 0; while( from[i] != '�' ) { to[i] = from[i]; i++; } to[i] = '�'; }[/codesyntax] (2)形参用字符指针变量 [codesyntax lang="c"]
#include <stdio.h> void main() { void copy_string( char *from, char *to ); char *a = "I am a teacher."; char *b = "You are a student."; printf("String a = %snString b = %sn", a, b); printf("copy string a to string b:n"); copy_string(a, b); printf("nString a = %snString b = %sn", a, b); } void copy_string( char *from, char *to ) { for( ; *from != '�'; from++,to++) { *to = *from; } *to = '�'; } // 丫的,出错了,为什么? WHY?? // 哈哈,请听视频详细讲解^_^[/codesyntax] [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LWZJZAVZUVZQ']视频下载[/Downlink]