基礎常識 什麼是字元以及字串的定義

2021-06-27 02:44:54 字數 1005 閱讀 9234

當你使用到乙個非數字的時候,可能要儲存字母或者標點符號之類的字元時候,在計算機裡它只能儲存一些數字資訊,此時它會把字元資料轉換成一種數字編碼,以便於計算機去識別這些字元。

那麼字母列印非字元呢?

單引i號適用於字元,數字以及標點符號,但你遇到ascii碼表的時候,你會發現這些字元你是列印不了的,那麼就要引入轉義字元,及轉義序列。

給乙個字元變數賦值的時候,必須要用單引號括起來,形式如下:

char a = '\n';報警的轉義字元是\a

printf()函式列印字元使用%c來列印乙個字元,字元被儲存在乙個位元組的整數值,因而列印字元可以有兩種形式:%d和%c當用%d的時候列印的就是對應字元的數字形式,

當用%c的時候列印出來的就是字元。

字串的一般格式及其含義:

當要用到字串的時候,就會涉及到字元陣列的含義,字元陣列表示同種資料型別的字元存放在有序的陣列空間,這裡和普通陣列形式一樣。形如char a =

這裡表示儲存三個元素的陣列空間,當你建立陣列的時候一定要標明陣列空間的大小,但是你在宣告的時候直接賦值的話,可以不用標明陣列空間的大小a[n],系統會自動分配相應的空間。

那麼字元陣列和字串有什麼聯絡呢?

這裡就要聯絡到字元陣列的元素的性質以及乙個字元在計算機儲存的特性,(陣列是相同型別的資料型別的集合,而字元是佔乙個位元組的儲存空間)。這樣的含義就和字串有相同的含義,字串的含義就是許多字元存放在一起,是有序的儲存空間。

那麼字串的形式該怎麼表示?

字串的形式如下:

char ch[5] = ;簡化形式是char ch = "abcd";

雙引號不是字串的一部分,他們只是通知編譯器其中包含了乙個字串,就像字元的單引號一樣,表示著乙個字元

重點是:當字串以字元陣列的形式表示的時候,計算機系統會在字串陣列的末尾預設加乙個\0,這個字元表示空字元,不是零的含義。c用它來標識字串的結束。

所以上面char a = 中的n=4,而字串的char ch[5] = 的n=5,因為字串陣列把結束符\0也加入了陣列。

字串常識

2 sizeof和strlen區別 使用字串初始化,常用 char buf8 abc strlen 測字串長度,不包含數字0,字元 0 sizeof 測陣列長度,包含數字0,字元 0 printf strlen d,sizeof d n strlen buf8 sizeof buf8 char bu...

字串 什麼是字串匹配演算法?

字串 string 是由 n 個字元組成的乙個有序整體 n 0 例如,s beijing s 代表這個串的串名,beijing 是串的值。這裡的雙引號不是串的值,作用只是為了將串和其他結構區分開。字串的邏輯結構和線性表很相似,不同之處在於字串針對的是字符集,也就是字串中的元素都是字元,線性表則沒有這...

字串的統計字串,以及反轉

題目 給定乙個指定字串str,返回str的統計字串。例如,aaabbadddffc 的統計字串為 a 3 b 2 a 1 d 3 f 2 c 1 補充問題 給定乙個字串的統計字串cstr,再給定乙個整數index,返回ctsr所代表的原始字串的第index個字元。例如,a 1 b 100 所代表的原...