藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 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初始化我還是 不 怎麼清楚求教



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com