通過執行個體來了解表示方法的含義。
源代碼如下圖所示。
注視掉的前兩行,要是釋放了,編譯之後會報錯。*s1 表示的是個字元。
雖然為變量指派時:
char *s1 = "hello kitty.";
寫法上像是把一串字元指派給了 *s1 一樣。但是指派時的 * 表示 s1 的類型。
指派語句的含義:
s1 = "hello kitty.";
是以,通過函數輸出指針表示的字元串時應該使用 s1 而不是 *s1 。同是輸出時使用 *s1,也隻是表示一個字元。是以語句:
s1++;
表示把指向字元串的指針位置往後推。
第3行注視的語句準确表示了字元串的輸出;未注視的輸出語句準确輸出了字元。
效果如下:
從輸出内容看,判斷語句 if 的條件為 0 時執行的是 else 的執行語句。當 if 語句的條件不管是大于零還是小于零時,都會執行 if 語句的執行語句。