char s="abc";
char *ptr="abc";
cout
<<"s "
cout
<<"*s "
<<*scout
<<"&s "
<<&scout
<<"s+1 "
<<(s+1)cout
<<"*(s+1) "
<<*(s+1)cout
<<"&s[0] "
<<&s[0]cout
<<"&s[0] "
<<(void*)(&s[0])cout
<<"&s[0] "
(&s[0])printf("%p\n",&s[0]); //0061ff1c
cout
<<"s[1] "
<1]cout
cout
<<*ptrcout
<<&ptrcout
<<(ptr+1)cout
<<*(ptr+1)cout
<<&ptr[1]printf("%p\n",&ptr[1]); //位址
cout
<1]/b
注:由於c++標準庫中i/o類對《操作符過載,因此在遇到字元型指標時會將其當作字串名來處理,輸出指標所指的字串
。既然這樣,那麼我們就別讓它知道那是字元型指標,所以得用到強制型別轉換,不過不是c的那套,我們得用static_cast來實現,把字串指標轉換成無型別指標,這樣更規範 《C和指標》 字串操作補 字串記憶體操作
1.對於 string 0 它其實等價於 string 0 string 2.對於 strcpy函式,如果要複製的字串比老字串短,由於新字串是以nul 即 0 結尾,所以老字串最後剩餘的幾個字元也會被有效地刪除。如 char message original message strcpy messa...
字串,字串陣列,字串指標!!
字串 字元陣列實際上是一系列字元的集合,也就是 字串 string 字串陣列 在c語言中,沒有專門的字串變數,沒有string型別,通常就用乙個字元陣列來存放乙個字串。c語言規定,可以將字串直接賦值給字元陣列 在c語言中,字串總是以 0 作為串的結束符。上面的兩個字串,編譯器已經在末尾自動新增了 0...
指標字串
問題描述 本題利用指標完成將乙個數字字串轉換為int整數的程式。input 輸入資料可以是多組,每組是乙個字串。ouput 輸出將這個字串轉換為int整數的形式。說明,如果輸入字串的第乙個字元為 則此數為負數,如果第乙個字元為 或沒有符號表示為正數。如果第乙個字元或符號位後的第乙個字元為非數字字元 ...