字符数组基本用法

字符数组就是字符类型的数组,与整数型数组的用法完全相同

#include <iostream>
using namespace std;

int main()
{
	// 字符数组初始化
	char c[5];
	char d[5]={'a','b','c','d','e'};
	char e[]={'a','b','c','d','e'}; // 自动计算长度
	
	
	// 字符数组基本输入输出
	char f[1000]={};
	int n;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>f[i];
	}
	for(int i=0;i<n;i++){
		cout<<f[i]<<" ";
	}
	
    return 0;
}

字符数组独有的用法

#include <iostream>
using namespace std;

int main()
{
	// 字符数组初始化
	char c[6] = {'h','e','l','l','o','\0'}; // '\0'作为结束标记,占位确不算长度
	
	char d[] = "hello"; // 将每个字符一一存放进数组中(包含'\0'),自动计算长度
	
	// 字符数组高级输入输出
	char e[10];
	cin>>e; // 整行输入,一一存放,遇到空格或换行结束
	cout<<e; // 输出整行,遇到'\0'结束
	
        cin.ignore();
	cin.getline(e,10); // 整行输入,包括空格
	
    return 0;
}

字符数组相关的功能函数

strlen (arr) —— 求字符串长度(不含 \0)

char c[] = "abcde";
int len = strlen(c);
cout<<len; // 5

strcmp (arr1, arr2) —— 比较两个字符串ascii码

char c1[]="abc";
char c2[]="123";
int res = strcmp(c1,c2);
cout<<res; // 正数c1大,负数c2大,0一样大

strcat (arr1, arr2) —— 字符串拼接

char c1[50]="abc";
char c2[]="123";
strcat(c1,c2); // 拼接时,c1需要有足够的空间
cout<<c1; // "abc123"