标准C语言10(字符串)

本文介绍了C语言中字符串的概念,包括字符串字面值和字符数组的存储方式。讲解了字符串输入输出的方法,如scanf、fgets和puts。还讨论了输入输出缓冲区的工作原理,并提供了清除输入缓冲区的方法。此外,文章详细阐述了字符串常用操作函数,如strlen、strcpy、strcat、strcmp等,以及转换函数如atoi、atof。
摘要由CSDN通过智能技术生成

字符串:
由字符组成的串形结构,结束标志是’\0’
存在方式:
字符串字面值:
“由双引号包含的若干个字符”,储存在代码段,只读,修改会产生段错误,地址,末尾隐藏了一个’\0’
const char* strp = “hello”;
sizeof(“hello”) 6 字符个数+1

字符数组:char str[] = {‘a’,‘b’,‘c’};
储存在栈内存,可以修改,需要手动添加\0
注意:字符数组不要设置数组的长度

一般使用字符串字面值来初始化字符数组
char str[] = “hello world!”;

输入:
char str[256];
scanf("%s",str); 不能输入带空格的字符串
gets(str); 输入字符串时不限制长度,有安全隐患
fgets(str,size,stdin); 可以设置只接受size-1个字符(会为\0预留位置),如果输入的字符不足size-1,会把\n一起接收
输出:
printf("%s",str);
puts(str);会自动添加换行

输出缓冲区:
程序输入的数据并不能立即显示到屏幕上,而是先存储到输出缓冲区内,满足一定条件后才显示。
1、遇到\n后
2、遇到输入语句时
3、当输出缓冲区满4k
4、程序结束
5、手动刷新 fflush(stdout)

缓冲区机制可以提高数据的读写速度

输入缓冲区:
程序不立即获取屏幕上输入的数据,而是按下回车键时程序才从输入缓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值