程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 指針-c語言中字符數組初始化問題

指針-c語言中字符數組初始化問題

編輯:編程綜合問答
c語言中字符數組初始化問題

字符數組初始化
1:
char str[]="123";//不報錯
2:
char str[4];
str="123";//不能將const char[4] to char[4]
字符指針初始化
1:
char *str="123";//不報錯
2:
char *str;
str="123";//不報錯
求大神解釋這是為什麼

最佳回答:


我來解釋一下:
數組初始化
1、char str[]="123";//不報錯
原因是,這樣的寫法,實際上str是一個指針變量,str指向了“123”數據段。
等效於char *str="123";
char *str;
str="123";
這個很好理解了,對一個指針變量賦“123”數據段的首地址。
2、char str[4];
str="123";//不能將const char[4] to char[4]字符指針初始化
這個是錯誤的,表面上的意義是str是一個數組,str變量則是這個數組的首地址,等效於&str[0],因此這樣賦值是非法的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved