成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++字符串各種用法講解

開發 后端
C++字符串時一個比較基礎的知識概念。我們將會在這篇文章中為大家詳細介紹有關概念。希望初學者們可以通過這篇文章充分掌握這方面的知識。

大家知道,C++編程語言中,對于字符串的操作是一個比較基礎而且重要的操作技巧。C++字符串一般情況下可以通過以下兩種形式進行表示,分別為;傳統字符串,以及字符數組這兩種。#t#

1.C++字符串之 傳統字符串

a) char ch1[] = {“liangdiamond”}

b) char ch2[] = {“hello world”}

其中關于傳統字符串,有幾個常用的函數

a) strcpy()函數

b) strcat()函數

c) strlen()函數

d) strcmp()函數

e) strlwr()函數:大寫變為小寫

f) strupr()函數,小寫變為大寫

2. C++字符串之字符數組

從表面上看,一個字符串是一個字符數組,但在c++語言中,它們不同。字符串是以’\0’結束的字符型數組。下面這段代碼展示字符串和字符數組的區別:

  1. #include < iostream> 
  2. using namespace std;  
  3. int main()  
  4. {  
  5. char a[] = {"hello"};  
  6. char b[] = {'h','e','l','l','o'};  
  7. int la = 0;  
  8. int lb = 0;  
  9. cout< < "The length of a[]:"< < sizeof(a)/sizeof(char)< < endl;  
  10. cout< < "The length of b[]:"< < sizeof(b)/sizeof(char)< < endl;  
  11. system("Pause");  
  12. return 0;  

 

可以修改程序:

  1. #include < iostream> 
  2. using namespace std;  
  3. int main()  
  4. {  
  5. char a[] = {"hello"};  
  6. char b[] = {'h','e','l','l','o','\0'};  
  7. int la = 0;  
  8. int lb = 0;  
  9. cout< < "b="< < b< < endl;  
  10. cout< < "The length of a[]:"< < sizeof(a)/sizeof(char)< < endl;  
  11. cout< < "The length of b[]:"< < sizeof(b)/sizeof(char)< < endl;  
  12. system("Pause");  
  13. return 0;  

 

但是數組名就是數組的首地址,所以數組名本身就可以理解為一個指針,只不過,它是指針常量,所謂指針常量,就是指針不能改變所指向的地址了,但是它所指向的地址中的值可以改變。
例如:

  1. #include < iostream> 
  2. using namespace std;  
  3. int main()  
  4. {  
  5. char a[] = {"hello"};  
  6. char b[] = {'h','e','l','l','o','\0'};  
  7. a++;  
  8. system("Pause");  
  9. return 0;  

編譯報錯。

C++字符串中字符數組和字符指針雖然在形式上很接近,但在內存空間的分配和使用上還是有很大差別。數組名不是一個運行時的實體,因此數組本身是有空間的,這個空間由編譯器負責分配。而指針是一個變量(運行時實體),它所指向的空間是否合法要在運行時決定。

  1. #include < iostream> 
  2. using namespace std;  
  3. int main()  
  4. {  
  5. char s[] = "abc";  
  6. char* p = "abc";  
  7. s[0] = 'x';  
  8. cout< < s< < endl;  
  9. //p[0] = 'x'; 編譯報錯  
  10. cout< < p< < endl;  
  11. system("Pause");  
  12. return 0;  

S的地址和p所指向的地址并不是一個地方,可以推斷0x00417704是常量區。所以貌似不能改。用反匯編其實看的更清楚一點。指針好就好在它能指向內存,不是ROM 區的好似都能改。

以上就是對C++字符串的相關介紹。

責任編輯:曹凱 來源: 博客園
相關推薦

2021-09-07 09:23:07

C++字符串算法

2009-11-24 09:55:44

PHP字符串函數

2010-07-14 12:39:30

Prel字符串

2021-07-30 06:22:37

C++字符型字符串

2010-02-04 17:39:48

C++字符串類型

2010-02-04 17:32:43

C++中C風格字符串

2023-12-11 15:18:03

C++字符串Unicode

2010-02-01 16:46:07

C++格式化字符串

2010-02-02 18:01:47

C++字符串替換函數

2009-11-30 14:08:42

PHP字符串原理

2010-03-03 09:12:25

.NET字符串拘留池

2010-07-28 14:59:26

Flex字符串

2021-08-20 06:58:31

C++Python函數

2013-05-02 11:13:05

C++遇到iOS應用開字符串處理

2010-02-04 10:52:36

C++字符串分割函數

2024-02-22 09:46:04

C++字符串格式化開發

2024-03-11 06:05:00

C++字符串

2009-12-15 13:15:11

Ruby字符串

2011-07-21 15:36:40

JAVA

2010-07-14 16:21:48

Perl
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区精品久久久 | 国产91中文 | 欧美不卡一区二区三区 | 精品av| 天天搞天天搞 | 精品日韩一区二区三区av动图 | 精品国产一区二区三区久久久四川 | 国产精品视屏 | 久久精品国产99国产 | 成人在线视频网站 | 一区二区中文字幕 | 一级免费看 | 欧美色人| 日韩欧美综合 | 国产一二三区免费视频 | 亚洲色图插插插 | 日本一区二区高清视频 | 免费在线日韩 | 日韩有码一区二区三区 | 久久免费精品视频 | 91欧美激情一区二区三区成人 | 成人三级视频 | 日韩精品一区二区久久 | 99久久久久久 | 欧美激情一区二区三级高清视频 | 成人亚洲精品久久久久软件 | 国产日韩欧美一区二区 | 毛片网站在线观看 | 欧美成人精品一区二区男人看 | 久久国产精品一区二区三区 | 欧美午夜视频 | 欧美xxxx在线 | 亚洲综合大片69999 | 国产一区二区在线视频 | 亚洲国产精品久久 | 在线观看亚洲精品视频 | 亚洲精品国产偷自在线观看 | 久久久久国产精品 | 久久久精 | 日本成人在线观看网站 | 日韩色综合 |