首页 > 代码库 > 黑马程序员——c语言的字符串
黑马程序员——c语言的字符串
1、 字符串
1. 什么是字符串
● 简单的字符串”itcast”
● 一个’i’是一个字符
● 很多个字符组合在一起就是字符串了
2. 字符串的初始化
● char a[] = “123”; 和 char a [] = {‘1’,’2’,’3’};的区别,可以比较大小
● “123”其实是由’1’、’2’、’3’、’\0’组成
● “123”的存储分布
● 字符串的输出”%s”,’\0’是不会输出的
3. \0的作用
● 输出char a[] = {‘o’,’k’};
● 在char a[]前面搞个”mj”
● 输出”mj”
● 再输出a
● char a[] = {‘i’,’t’,’\0’,’c’};
4. 常用字符串处理函数
● strlen(注意中文)
2. 习题
编写一个函数char_contains(char str[],char c),如果字符串str中包含字符c则返回数值1,否则返回数值0
1 #include <string.h> 2 #include <stdio.h> 3 4 // 可读性 -> 性能 -> 精简(重构) 5 6 int char_contains(char str[], char c); 7 8 int main() 9 {10 char name[] = "itcast";11 12 int result = char_contains(name, ‘c‘);13 14 printf("%d\n", result);15 return 0;16 }17 18 // "itc" ‘7‘19 int char_contains(char str[], char c)20 {21 int i = -1;22 23 // 1.遍历整个字符串24 while ( str[++i] != c && str[i] != ‘\0‘ ) ;25 26 //return str[i] == ‘\0‘ ? 0 : 1;27 return str[i] != ‘\0‘;28 }
字符串数组
1.使用场合
* 一维字符数组中存放一个字符串,比如一个名字char name[20] = "mj"
* 如果要存储多个字符串,比如一个班所有学生的名字,则需要二维字符数组,char names[15][20]可以存放15个学生的姓名(假设姓名不超过20字符)
* 如果要存储两个班的学生姓名,那么可以用三维字符数组char names[2][15][20]
2.初始化
char names[2][10] = { {‘J‘,‘a‘,‘y‘,‘\0‘}, {‘J‘,‘i‘,‘m‘,‘\0‘} };
char names2[2][10] = { {"Jay"}, {"Jim"} };
char names3[2][10] = { "Jay", "Jim" };
1 #include <stdio.h> 2 int main() 3 { 4 char name[] = "jack"; 5 6 char name1[] = "rose"; 7 8 char name2[] = "jim"; 9 10 char name3[] = "jake";11 12 char names[2][10]= {"jack", "rose"};13 14 printf("%s\n", names[0]);15 16 printf("%c\n", names[0][3]);17 18 char names2[2][10] =19 {20 {‘j‘, ‘a‘, ‘c‘, ‘k‘, ‘\0‘},21 {‘r‘, ‘o‘, ‘s‘, ‘t‘, ‘\0‘}22 };23 24 25 return 0;26 }
黑马程序员——c语言的字符串
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。