|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
char *string初始化我還是 不 怎麼清楚求教
char *string初始化我還是 不 怎麼清楚。
char *string = NULL;
還有數組char string[5] ="0";
這樣對嗎還是不寫也行啊
下面就可以直接用了 |
char *string初始化我還是 不 怎麼清楚求教
-->
char *pc; 則pc是一個變量,裡頭放了個地址,地址指向的東西被編譯器理解為字符。
為何要初始化? 當你在一個函數中寫下 char *pc; 則pc的值是未確定的。到底pc中放了什麼數,取決於程序運行的環境。如果你沒有為 pc作一個初始化,就使用它,則有可能使程序崩潰。
初始化有兩種,一種把 pc 指向一個合理的空間,所謂的合理,由程序員,也就是你判定。比如
*pc = "abcdefg";
另一種初始化令 pc 指向零。也就是 pc = NULL;NULL 在c中被定義為char *0。NULL是一個標誌,表示這個指針指向的空間不能用。於是你可以用pc==NULL做為條件來判別 pc 是否可以dereferance.
你這個問題光在這問可能很難學懂,找本書好好看一看。 |
char *string初始化我還是 不 怎麼清楚求教
但是剛開始我假如pc = "hello";初始化後,在用,比如有把「world」賦給pc ,那麼"hello"仍會逗留在內存的data區啊,以後就訪問不到"hello"了啊,就相當於數據丟失一樣啊,那不是"hello"永遠就佔了一塊地方了嗎 |
char *string初始化我還是 不 怎麼清楚求教
| |
|