天天看點

用指針存儲字元數組表示字元串

通過執行個體來了解表示方法的含義。

源代碼如下圖所示。

用指針存儲字元數組表示字元串

注視掉的前兩行,要是釋放了,編譯之後會報錯。*s1 表示的是個字元。

雖然為變量指派時:

              char *s1 = "hello kitty.";

寫法上像是把一串字元指派給了 *s1 一樣。但是指派時的 * 表示 s1 的類型。

指派語句的含義:

              s1 = "hello kitty.";

是以,通過函數輸出指針表示的字元串時應該使用 s1 而不是 *s1 。同是輸出時使用 *s1,也隻是表示一個字元。是以語句:

              s1++;

表示把指向字元串的指針位置往後推。

第3行注視的語句準确表示了字元串的輸出;未注視的輸出語句準确輸出了字元。

效果如下:

用指針存儲字元數組表示字元串

從輸出内容看,判斷語句 if 的條件為 0 時執行的是 else 的執行語句。當 if 語句的條件不管是大于零還是小于零時,都會執行 if 語句的執行語句。

用指針存儲字元數組表示字元串