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...