字符串小结
来源:互联网 发布:mac 单独调节应用声音 编辑:程序博客网 时间:2024/06/05 02:55
1.字符串概念
字符串是位于双引号中的字符序列
在内存中以“\0”结束,所占字节比实际多一个
2.字符串的初始化
- 在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。前面介绍字符串常量时,已说明字符串总是以‘\0’作为串的结束符。因此当把一个字符串存入一个数组时,也把结束符‘\0’存入数组,并以此作为该字符串是否结束的标志。有了‘\0’标志后,就不必再用字符数组的长度来判断字符串的长度了。
- 初始化
char name[9] = "ucc"; //在内存中以“\0”结束, \0ASCII码值是0
char name1[9] = {'u,'c','c','\0'};
char name2[9] = {'u','c','c',0};
char name3[9] = {'u','c','c'};//静态数组如果没有赋值默认就是0,0就相当于\0
- 错误的初始化方式
//不正确地写法,结尾没有\0 ,只是普通的字符数组
char name4[] = {'u','c','c'};
// \0的作用:字符串结束的标志
char name[] = "c\0ool";
printf("name = %s\n",name);
输出结果: c
使用的格式字符串为“%s”,表示输入、输出的是一个字符串
字符串的输出
输出
%s的本质就是根据传入的name的地址逐个去取数组中的元素然后输出,直到遇到\0位置
字符串输入
charch[10];
scanf("%s",ch);
注意:
对一个字符串数组, 如果不做初始化赋值, 必须指定数组长度
ch最多存放由9个字符构成的字符串,其中最后一个字符的位置要留给字符串的结尾标示‘\0’当用scanf函数输入字符串时,字符串中不能含有空格,否则将以空格作为串的结束符。
小练:
使用scanf() 从控制台输入一个字符串,然后使用printf() 将其输出。
charstr[9];
scanf("%s", str);
printf("str = %s\n", str);
利用sizeof字符串长度
因为字符串在内存中是逐个字符存储的,一个字符占用一个字节,所以字符串的结束符长度也是占用的内存单元的字节数。
char name[] = "65879";
int size = sizeof(name);// 包含\0
printf("size = %d\n", size);
输出结果:6
利用系统函数
格式: strlen(字符数组名)
功能:测字符串的实际长度(不含字符串结束标志‘\0’)并作为函数返回值。
char name[] = "65879";
size_tlen = strlen(name2);
printf("len = %lu\n", len);
输出结果:5
字符串是位于双引号中的字符序列
在内存中以“\0”结束,所占字节比实际多一个
2.字符串的初始化
- 在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。前面介绍字符串常量时,已说明字符串总是以‘\0’作为串的结束符。因此当把一个字符串存入一个数组时,也把结束符‘\0’存入数组,并以此作为该字符串是否结束的标志。有了‘\0’标志后,就不必再用字符数组的长度来判断字符串的长度了。
- 初始化
char name[9] = "ucc"; //在内存中以“\0”结束, \0ASCII码值是0
char name1[9] = {'u,'c','c','\0'};
char name2[9] = {'u','c','c',0};
char name3[9] = {'u','c','c'};//静态数组如果没有赋值默认就是0,0就相当于\0
- 错误的初始化方式
//不正确地写法,结尾没有\0 ,只是普通的字符数组
char name4[] = {'u','c','c'};
// \0的作用:字符串结束的标志
char name[] = "c\0ool";
printf("name = %s\n",name);
输出结果: c
使用的格式字符串为“%s”,表示输入、输出的是一个字符串
字符串的输出
输出
%s的本质就是根据传入的name的地址逐个去取数组中的元素然后输出,直到遇到\0位置
字符串输入
charch[10];
scanf("%s",ch);
注意:
对一个字符串数组, 如果不做初始化赋值, 必须指定数组长度
ch最多存放由9个字符构成的字符串,其中最后一个字符的位置要留给字符串的结尾标示‘\0’当用scanf函数输入字符串时,字符串中不能含有空格,否则将以空格作为串的结束符。
小练:
使用scanf() 从控制台输入一个字符串,然后使用printf() 将其输出。
charstr[9];
scanf("%s", str);
printf("str = %s\n", str);
利用sizeof字符串长度
因为字符串在内存中是逐个字符存储的,一个字符占用一个字节,所以字符串的结束符长度也是占用的内存单元的字节数。
char name[] = "65879";
int size = sizeof(name);// 包含\0
printf("size = %d\n", size);
输出结果:6
利用系统函数
格式: strlen(字符数组名)
功能:测字符串的实际长度(不含字符串结束标志‘\0’)并作为函数返回值。
char name[] = "65879";
size_tlen = strlen(name2);
printf("len = %lu\n", len);
输出结果:5
0 0
- 字符串小结
- 字符串小结
- 【字符串】C++字符串编程小结
- shell 字符串操作小结
- shell 字符串操作小结
- shell 字符串操作小结
- shell 字符串操作小结
- VC字符串转换小结
- 字符串格式化小结
- ConnectionString字符串小结
- c++字符串输入小结
- c# 字符串函数小结
- shell 字符串操作小结
- string字符串 常用小结
- NSString截取字符串小结
- 字符串操作小结
- 字符串处理小结
- shell 字符串操作小结
- Oracle SQL性能优化
- Loadrunner参数表中select_next_row和update_value_on的不同组合设置对参数取值的影响
- TCP/IP网络编程 学习笔记_12 --进程间通信
- 在自定义cell里面实现跳转的方法
- 魔塔60关(Android)通关心得 (连载)
- 字符串小结
- 音视频封装格式(2):MP4格式学习
- atititt.java定时任务框架选型Spring Quartz 注解总结
- AppDelegate
- Android自定义属性,format详解
- centos为openJDK设置系统变量
- Confluence+Crowd的集成(openLDAP认证)
- 关于ios注册推送
- 第10章 JSP、JavaBean和Servlet的配合使用