第8章 字符串处理 字符串常量-"hello” 字符常量-A §8.1 字符串的存储与引用 H E L L 10 C语言规定:在内存中存储字符串常量时,需在其末尾添加 空字符“0”(即ASCII码为0的字符)作为结束标志。 char ch='A':"A" A 10
第8章 字符串处理 字符串常量-"hello" 字符常量-'A' §8.1 字符串的存储与引用 H E L L O \0 char ch='A'; "A" A \0 C语言规定:在内存中存储字符串常量时,需在其末尾添加 空字符“\0”(即ASCII码为0的字符)作为结束标志
§81字符数组和字符串 ★字符数组 冬定义 例 char c[10],ch[3][4]; 必字符数组的初始化 ●逐个字符赋值 ●用字符串常量 用字符串常量 冬字符数组的引用 有问题≤ W 例char ch[6]={Hello”} char ch[6]=“Hello', char ch[]=“Hello', char s[20]="Good bye"; char s[20]; s="Good bye";
§8.1 字符数组和字符串 字符数组 ❖定义 ❖字符数组的初始化 ⚫逐个字符赋值 ⚫用字符串常量 ❖字符数组的引用 例 char c[10], ch[3][4]; 例 char ch[5]={‘H’,’e’,’l’,’l’,’o’}; ch[0] H e l l o 逐个字符赋值 ch[1] ch[2] ch[3] ch[4] 有问题! 例 char ch[5]={‘H’,’e’,’l’,’l’,’o’}; ch[0] H e l l o 逐个字符赋值 ch[1] ch[2] ch[3] ch[4] 例 char ch[5]={‘B’,’o’,’y’}; ch[0] B o y \0 \0 逐个字符赋值 ch[1] ch[2] ch[3] ch[4] 例 char ch[5]=“Boy”; ch[0] B o y \0 \0 用字符串常量 ch[1] ch[2] ch[3] ch[4] 例 char ch[6]={“Hello”}; char ch[6]=“Hello”; char ch[]=“Hello”; 用字符串常量 ch[0] H e l l o ch[1] ch[2] ch[3] ch[4] \0 ch[5] 例 char s[20]="Good bye"; char s[20]; s="Good bye";
在初始化字符数组时,可以不指定字符数组的长度。 char s={'G','o','o','d'; char t[]="Good"; char s[]={'G','o','o','d'}; char t[]="Good"; printf("号s\n",s); printf("号s\n",t); Good训" Good 8.1.3用字符指针引用字符串 1:字符指针初始化方式 printf("%sn",p); char *p="How are you!"; 2:字符指针赋值方式 How are you char *p; p="How are you!";
在初始化字符数组时,可以不指定字符数组的长度。 char s[]={'G','o','o','d'}; char t[]="Good"; 8.1.3用字符指针引用字符串 1:字符指针初始化方式 char *p="How are you!"; 2:字符指针赋值方式 char *p; p="How are you!"; printf("%s\n",p);
例输出一个字符串 #include <stdio.h 0 main() 1 {char c[10={T,'a,'m,','a,',b',o',y'}; 2 8 int i; 3 m for(i=0;i<10;i++) 4 printf("oc",c[i]); 5 a printf("\n"); 6 7 8 9
例 输出一个字符串 #include <stdio.h> main() { char c[10]={'I',' ','a','m',' ','a',' ','b','o','y'}; int i; for(i=0;i<10;i++) printf("%c",c[i]); printf("\n"); } I a m a b o y 0 1 2 3 4 5 6 7 8 9
冬字符串及其结束标志 ●无字符串变量,用字符数组处理字符串 ●字符串结束标志 例 “hello”共5个字符,在内存占6个字节 字符串长度5 h 0 \0 104101108108 111 0 内存存放字符ASCⅡ码
字符串 ❖字符串及其结束标志 ⚫无字符串变量,用字符数组处理字符串 ⚫字符串结束标志:‘\0’ 例 “hello”共5个字符,在内存占6个字节 字符串长度5 h e l l o \0 104 101 108 108 111 0 内存存放字符ASCII码