字符串和字符数组

1.字符串和\0

c语言中有字符类型,但没有字符串类型,c语言中字符串就是由双引号引起来的一串字符,比如:"abcdef"

字符串常量在末尾隐藏了一个'\0'的转义字符,'\0'是作为字符串的结束标志存在的

库函数printf与strlen遇到'\0'自动停止

2.字符数组的创建与初始化

字符数组就是一个存放字符的数组

创建方式:

c 复制代码
//创建字符数组并初始化
char data[5] = {'a','b','c','d','e'}

这里data是一个字符数组,可以存放5个字符

可以用下标访问字符数组,如:

c 复制代码
#include<stdio.h>
int main()
{
	char aiee[5] = { 'a','i','e','e','i' };
	int sz = sizeof(aiee) / sizeof(aiee[0]);
	int i = 0;
	for (i = 0; i < sz; i++)
		printf("%c", aiee[i]);
	return 0;
}

3.字符串常量初始化字符数组

字符数组的初始化,也可以使用常量字符串,如:

c 复制代码
//指定数组大小
 1. char data1[10]

//通过初始化内容来确定数组元素个数
 2. char data[] = "abcdef"; 

当用常量字符串初始化数组时,数组中存放了能看到的字符和一个'\0'字符。

c 复制代码
#include<stdio.h>
int main()
{
	char aiee[5] = { 'a','i','e','e','i' };
	char arr[10] = "abcdef";
	return 0;
}

4.'\0'作为字符串结束的标志

对字符串数组进行打印等操作时,'\0'是停止的标志

读不到'\0'不结束

5.字符数组的输入与输出

c 复制代码
#include<stdio.h>
int main()
{
	char arr[10] = {0};
	scanf("%s", arr);
	printf("%s", arr);
	return 0;
}

数组的名称--->数组中的一个数据的地址

6.求字符串的长度

在c语言中有一个库函数strlen,它是专门用户来求字符串长度的,调用它需要包含头文件<string.h>
strlen(返回整型,size_tl类型)
strlen函数统计的是字符串中\0之前的字符的个数,所以传递给strlen函数的字符传中必须包含\0

c 复制代码
#include<stdio.h>
#include<string.h>
int main()
{
	char str[10] = "abcdef";
	printf("%zd",strlen(str));
	return 0;
}
相关推荐
净0322几秒前
IsaacLab笔记(1)利用standalone python创建场景
笔记·isaacsim·isaaclab
无限进步_20 分钟前
C语言atoi函数实现详解:从基础到优化
c语言·开发语言·c++·git·后端·github·visual studio
AA陈超21 分钟前
ASC学习笔记0022:在不打算修改属性集时访问生成的属性集
c++·笔记·学习·ue5·虚幻引擎·unreal engine
树在风中摇曳1 小时前
【C语言预处理器全解析】宏、条件编译、字符串化、拼接
c语言·算法
01100001乄夵1 小时前
第六课:仿真进阶与调试技巧
经验分享·笔记·学习方法
kanimito1 小时前
大语言模型入门指南:从科普到实战的技术笔记(2)
人工智能·笔记·语言模型
Bin二叉1 小时前
南京大学cpp复习——面向对象第一部分(构造函数,拷贝构造函数,析构函数,移动构造函数,友元)
c++·笔记·学习
爱奥尼欧1 小时前
【QT笔记】常用控件——QWidget 核⼼属性
数据库·笔记·qt
fashion 道格1 小时前
用 C 语言破解汉诺塔难题:递归思想的实战演练
c语言·算法
摇滚侠1 小时前
Vue 项目实战《尚医通》,获取挂号医生的信息展示,笔记43
前端·javascript·vue.js·笔记·html5