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類型。