程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++語言基礎-字符數組

C++語言基礎-字符數組

編輯:關於C++
奇怪的是,C++不支持字串變量(放置文本的變量),C++程序中的字串是用char數據類型的數組表示的。例如,可以將變量賦予char數組如下:
char text[] = "This is a string.";
這就在內存中分配18字節的內存空間用於存放字串。根據你的領悟能力,也許你會發現該字串中只有17個字符。分配18個字節的原因是字串要以終止null結尾,C++在分配內存空間時把終止null算作一個字符。
新術語 終止null是個特殊字符,用|0表示,等於數值0。程序遇到字符數組中的0時,表示已經到字串末尾。為了說明這點,輸入並運行下列控制台應用程序。
清單1.6Nulltest.cpp
1: #include <iostream.h>
2: #include <conio.h>
3: #pragma hdrstop
4:
5: int main(int argc,char **argv)
6: {
7:char str[]="This is a string.";
8.cout << str << end1;
9.str[7]= '\0';
10. cout << str << end1
11. cout << end1 << "Press any key to continue...";
12: getch();
13: return 0;
14: }
分析 最初,字符數組包含字符串This is a string和一個終止null,這個字串通過cout送到屏幕上。下一行將數組的第7個元素賦值為|0,即終止null。字串再次發送到屏幕上,但這時只顯示This is。原因是計算機認為數組中字串在第7個元素上終止,余下字串仍然在內存空間中,但不顯示,因為遇到了終止null。圖1.10演示了將數組的第7個元素賦值為|0的語句前後的字符數組。
之前
Thi
sisastri
ng.\0
之後
This
is\0astri
ng.\0
圖1.10字符數組的內容
清單1.6中也可以賦值0而不是'|0',結果相同,因為數字0和char數據類型'|0'是等值的。例如,下列語句是等價的:
str[7] = '|0';
str[7] = 0;
說明 C++程序中單引號與雙引號是有差別的。向數組元素賦值終止null和其它字符值時,必須用單引號。單引號的作用是將引號內的字符變成整型值(該字符的ASCII值),然後將這個值存放在內存地址中。將字串賦予字符數組時,必須用雙引號。如果用錯引號,則編譯器會發生編譯錯誤。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved