字符数组定义形式
#include <iostream>
using namespace std;
int main() {
/*
sizeof(x) 计算变量字节大小
strlen(x) 计算字符中\0前的实际字符数
*/
// 形式一:定义字符数组并逐个赋值,但要以'\0'字符结束
char a[5];
a[0] = 'h';
a[1] = 'i';
a[2] = '\0';
cout<<a<<" "<<sizeof(a)<<" "<<strlen(a)<<endl;
// 形式二:定义数组的同时为数组赋值,
// 元数个数不足数组长度时其余默认为'\0'字符或为0
char b[5] = {'h','i',',','h','\0'};
cout<<b<<" "<<sizeof(b)<<" "<<strlen(b)<<endl;
char b2[5] = {'h','i','\0'};
cout<<b2<<" "<<sizeof(b2)<<" "<<strlen(b2)<<endl;
// 形式三:定义数组,长度由内容决定
char c[] = {'h','i','\0'};
cout<<c<<" "<<sizeof(c)<<" "<<strlen(c)<<endl;
// 形式四:定义字符数组,直接赋值为字符串,默认会加上'\0'字符
char d[] = "hi";
cout<<d<<" "<<sizeof(d)<<" "<<strlen(d)<<endl;
// 理解:输出以'\0'字符结束
char e[10] = {'h','e','l','l','o','\0','h','i','\0'};
cout<<e<<" "<<sizeof(e)<<" "<<strlen(e)<<endl;
return 0;
}