C語言如何用指標指向字串?

2021-10-02 08:24:48 字數 1631 閱讀 7526

這時,出現位址相同的情況,說明這裡的「hello world」只是儲存在乙個臨時的地方,兩個指標同時指向了這個「hello world」,這時字串不可寫。什麼叫不可寫?看下面。

用陣列定義字串,字串可寫,這時s3[0]=『b』,結果可以改變就叫做字串可寫。part1裡的字串不能改變,s3[0]='b』語句沒有作用。

這裡用陣列定義字串後,再用指標指向這個字串,和part1相比,位址複雜了許多,說明這個位址不是臨時位址了。

計算字串長度12,hello world+\0,\0也占有字串的一位,但是不會顯示出來。

下面給出指標指向字串的兩種方式:

\0才代表乙個字串的結束,\0才代表乙個字串的結束,\0才代表乙個字串的結束。它是陣列的一部分。

#include

intmain()

;char

* a;

a=b;

printf

("%s\n"

,a);

}//或

#include

intmain()

;是相等的。

當你不需要對字串改變時,臨時用指標定義也可以的:

下面上乙個帶有思考性的問題,下面的指標事實上是直接指向乙個陣列元素『s』的,陣列最後沒有『\0』。當你硬要以字串形式輸出時:

這個結果正確,指標指向了陣列中的字串。

C語言 字串指標(指向字串的指標)

字串一旦被建立就存在於常量池中。以字元陣列形式建立的字串,實際上是從字串常量池中複製了乙個副本,所以修改字元陣列的內容時,只是修改的自己的副本,並不會影響到常量池中的字串。而對字串指標strp操作時會影響到常量池中的字串 char strc string char strp string print...

C語言指向字串的指標絕好

一 c語言字串的表示形式 c語言沒有單獨的字串物件,它是通過陣列的形式來表示字串的 include include int main void 上述字串 hello world 共11個字元,加上結束字元 0 在記憶體中共12個字元。二 通過字元指標引用字串 include include int ...

C語言字串及指向字元陣列的指標

通常編譯器在 肉眼所能看見的 字元陣列末尾還會加乙個 0 作為結束符 所以真正的字元長度是 肉眼所見長度 1 char str 5 hello 如上 是會編譯錯誤的 一.指標和一維字元陣列 include include include using namespace std intmain 之前的...