C語言字符串定義(數組&指針)


 1 /*****************************************************************************
 2 * @brief : 字符串定義方法總結 指針 字符數組
 3 * @author : BoltLi
 4 * @date : 2019/2/20 10:20
 5 * @version : ver 1.0
 6 * @inparam : 
 7 * @outparam : 
 8 *****************************************************************************/
 9 #include<stdio.h>
10 int main()
11 {
12 //char *s; s = {"abc"}; //錯誤方法,錯誤原因:不可以直接設置將字符數組賦值給指針,但可以采取下面的將字符串賦值給指針,或者定義指針時直接賦值字符串
13 
14 //char *s; s = "abc"; //1)定義后再將字符串賦值給指針(對比上面少了一對大括號‘{}’)
15 
16 //char *s = {"abc"}; //2)定義指針時直接賦值字符串(‘{}’大括號有無均可)
17 
18 //char s[] = {"abc"}; //3)字符數組方法
19 //char s[4] = "abc"; //3)包含結束標識符一共需要4個,所以這里定義為s[4],一般定義比字符個數多較多就可以
20 
21 //4)要使s指向一個字符串,還可以采取下面的方法:
22 //char *s;
23 //char str[] = "abc"; s = str;
24 //先將字符串存於字符數組中,然后將數組名賦給字符指針(數組名代表數組首地址,定義數組是為其分配確定的地址)
25 
26 printf("%c\n",s[2]);    //只輸出c
27 printf("%s", s); // 整體輸出字符串s,顯示為abc
28 while(1);
29 return 0;
30 }

對於VS2010,上述操作沒問題,而對於VS2017,不支持上述字符串的操作,會報錯如下:

使用VS2017,結果如下:

 

使用VS2010結果如下:

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM