C中的字符指針和字符數組的使用

C語言中定義字符數組

 如:定義字符數組char p1[]="abc";

         定義字符指針 char *p2="abc";

        上述兩種定義中p1指向的內容是變量,可修改其中的值,而p2指向的內容實際上是常量,不能修改其中的值。

若使用如下定義:

        char p1[]="abc";

        char *p2=p1;

        則此時p2和p1指向的是同一位置,即p2和p1等價。可修改其中的值。

若使用如下定義:

       char str[10];

       scanf("%s",str);//可以輸入字符串到變量str中。

       char *a;

       scanf("%s",a);//不提倡這樣使用,此時雖然編譯時已經給a分配內存單元,但a的值並未指定,即a單元中是一個不可預料的值。有可能此時該位置已存放指令或數據。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章