1.前提
1.1字符的种类
字符分为两种
- 字符常量char
- 字符常量1字节
-多字符字面量常见3字节
- 宽字符wchar_t
windows使用UTF-16编码 所以是2字节,linux是UTF-32所以是32字节
1.2 常用的名词
大小:字节数常用sizeof()
计数:数组中元素的个数_countof()
长度:在eof之前的字符数 >=计数的数值
2.sizeof()
用于计算sizeof()内类型的大小可以是数据类型,也可以是函数,但是函数只计算返回值的大小而且不运行。注明:计算字符串数组时候sizeof()函数会加上\0。
char* new_space = (char*)malloc(sizeof(int)+1)
3.strlen()
int main(int argc,char* argv[])
{
char a[] = "hello";
unsigned char b[] = "afternoon";
int b1 = strlen(a); //b1=6
int b2 = strlen(b); //错误不可以使用,类型错误。 unsigned char b []其实是 const ubsigned char* b[]
}
所以说strlen()只能处理简单的char字符数组,当然也不可以直接放入其他类型,如wchar_t 当然还有一点是,strlen是根据null来判断数组的末尾的,但是wchar_t是可以直接放入null字符的。所以在vs2019中是直接显示错误。
4.wcslen()
这个函数是专门用来计算wchar_t的字节数。返回值为int
int main(int argc,char* argv[])
{
char * p = NULL;
char Int_array[] = {4,5,6,7,8,9};
wchar_t array[] = L"中";
p = Int_array;
int a = _countof(Int_array); //a=6
int b = sizeof(array); // b=4byte
getchar();
return 1;
}
trick ctrl + u 转换为小写
ctrl + shift + u 转换为大写
ctrl + k 之后加上 ctrl+c添加注释
ctrl+k 之后加上 ctrl + u 删除注释
tips 提供了标准模板类 bitset<32> a(100)
总的来说要注意数值类型,它具有大小,以及不同的类型编译器对它的处理也不同,例如接下来一篇文章中的unsigned char类型。