1. 程式人生 > >使用字串指標變數和字元陣列的區別

使用字串指標變數和字元陣列的區別

4、對使用字元指標變數和字元陣列兩種方法表示字串的討論
雖然用字元陣列和字元指標變數都能實現字串的儲存和運算,但它們二者之間是有區別的,不應混為一談。
4.1、字元陣列由若干個元素組成,每個元素放一個字元;而字元指標變數中存放的是地址(字串/字元陣列的首地址),絕不是將字串放到字元指標變數中(是字串首地址)
4.2、賦值方式:
     對字元陣列只能對各個元素賦值,不能用以下方法對字元陣列賦值
     char str[14];
     str="I love China";     (但在字元陣列初始化時可以,即char str[14]="I love China";)
     而對字元指標變數,採用下面方法賦值:
     char* a;
     a="I love China";
     或者是 char* a="I love China";       都可以
4.3、對字元指標變數賦初值(初始化
):
         char* a="I love China";     
等價於:
           char* a;
           a="I love China";
而對於字元陣列的初始化
          char str[14]="I love China";
不能等價於:
         char str[14];
         str="I love China"; (這種不是初始化,而是賦值,而對陣列這樣賦值是不對的)