字串指標操作

2021-08-21 19:58:02 字數 788 閱讀 8894

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]

注:由於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整數的形式。說明,如果輸入字串的第乙個字元為 則此數為負數,如果第乙個字元為 或沒有符號表示為正數。如果第乙個字元或符號位後的第乙個字元為非數字字元 ...