輸出字元陣列與其他陣列的區別

2021-07-02 17:30:19 字數 584 閱讀 6950

c++中陣列的名稱代表陣列第乙個元素的位址,比如輸出乙個整形陣列名稱時,會得到這個整形陣列第乙個元素的位址。

但是當輸出字元陣列名稱時,並不會得到這個字元陣列的首位址,而是直接輸出整個字元陣列的內容;這是因為c++對操作符《進行了過載,當引數為char*時,會輸出char *指向的所有內容。

例一:

int main()

; cout

<'\n'; //輸出0012ff74

char s[3] = ;

cout

<'\n'; //輸出as

return

0;}

例二:

//過載<<

ostream& operator

<<(ostream &output, char *s)

int main()

; cout

<'\n'; //輸出0012ff74

char s[3] = ;

cout

<'\n'; //輸出a

return

0;}

C 中字元陣列的指標與其他陣列指標有什麼區別?

include using namespace std intmain cout a system pause 則輸出為 0x72fde0此時a代表的是指向陣列元素a 0 的指標 但是如果定義的是乙個字元陣列,雖然其陣列名與普通陣列的含義是一樣的,但如果此時列印陣列名,則會列印字元陣列的內容,例如,...

C 中分割字串輸出字元陣列

1 用字串分隔 using system.text.regularexpressions string str aaajsbbbjsccc string sarray regex.split str,js regexoptions.ignorecase foreach string i in sar...

執行緒按指定順序輸出字元到陣列

題目 有三個執行緒,執行緒1的功能就是向字元陣列輸出a,執行緒2的功能就是向字元陣列輸出b,執行緒2的功能就是向字元陣列輸出c,要求按順序向陣列賦值abcabcabc,abc的個數由執行緒函式1的引數指定。介面說明 void init 初始化函式 void release 資源釋放函式 unsign...