一、概念不同
char *str 宣告的是一個指標,這個指標可以指向任何字串常量。char str[] 宣告的是一個字元陣列,陣列的內容可以是任何內容,嚴格意義上說,末尾加上'\0' 之後才能算是字串,
二、變數不同
char *str裡的str是指標變數,str的值未初始化(區域性變數的話。全域性則自動初始化為NULL)。char str[ ]裡str是地址常量,str的值是str[ ]的地址。
三、定義方法不同:
在char * str中,明顯str的型別是char*。這沒什麼特殊的,只是一個簡單的char指標。char str[]是不能這樣定義的,所以假定用char str[6] = "abcde";那麼這裡str的型別是char[6](6個,不是5個,因為最後有個0) ,而這種定義語句也是定義一個char[6]型別的唯一方法。
一、概念不同
char *str 宣告的是一個指標,這個指標可以指向任何字串常量。char str[] 宣告的是一個字元陣列,陣列的內容可以是任何內容,嚴格意義上說,末尾加上'\0' 之後才能算是字串,
二、變數不同
char *str裡的str是指標變數,str的值未初始化(區域性變數的話。全域性則自動初始化為NULL)。char str[ ]裡str是地址常量,str的值是str[ ]的地址。
三、定義方法不同:
在char * str中,明顯str的型別是char*。這沒什麼特殊的,只是一個簡單的char指標。char str[]是不能這樣定義的,所以假定用char str[6] = "abcde";那麼這裡str的型別是char[6](6個,不是5個,因為最後有個0) ,而這種定義語句也是定義一個char[6]型別的唯一方法。