#M8305. 字符数组(字符串)

字符数组(字符串)

字符串


字符串是一个接一个字符的一组字符连在一起(类似于用一根冰糖葫芦串起了很多山楂球),所以字符串的基本组成元素是字符。

字符串的储存


存储字符串比如"mageek"时,有两种不同的方式,一种是字符型数组,另一种是string类

char a[7] = "mageek";

在字符串中使用标识符'\0'作为结束标志,结束符'\0'也需要占用一个存储位,所以声明数组时长度至少为 7。等同于:

char a[7] = {'m', 'a', 'g', 'e', 'e', 'k', '\0'};

【注意事项】

1.由 n 个字符个数组成的字符串在内存中应占( n+1 )个字节。

2.'0'代表字符 0,对应ASCII码值为 48,'\0' 代表空字符(转义字符),对应ASCII码值为 0。

输入与输出

方法1:可以使用 %s 或 cin语句 整体输入输出(不保存空白符,如空格、回车、换行符等)

#include<bits/stdc++.h>
using namespace std;
int main()
{
	char a[10];
  scanf("%s", a); // 无需加 &
  // cin>>a;
  printf("%s", a);
  // 	cout<<a;
	return 0;
}

方法2:读取整行,通过回车键来确定结束

#include<bits/stdc++.h>
using namespace std;
int main()
{
	char a[105];
	cin.getline(a,100);
	cout<<a;
	return 0;
}

方法3:利用循环结合下标逐次操作