int * p [5] 由於[ ]的優先順序高。所以p先與[5]結合,p是長度為5的指標陣列,每個元素都為指向指標變數的指標。
字元型指標就是儲存字元型資料記憶體單元的位址。
字元陣列,是將字串放到為陣列分配的儲存空間去
字元型指標變數,是將字串存放到記憶體,然後將字串的記憶體起始位址送到指標變數中
字元陣列與指標變數有以下4點區別
1.儲存內容不同。字元陣列存若干字元,而字元指標變數中存放的是字串0號元素的位址,而不是字串的內容。
2.分配的記憶體單元不同。字元陣列在編譯時為它所有元素分配了確定位址的記憶體。而字元指標變數只分配乙個位址值的記憶體單元,如果未賦值,則內容不定。
3.賦值方法不同。字元陣列只能在變數定義時整體賦初值。如
char str [16] ;
str = "hello";//錯誤 陣列名是位址常量 不是變數
str[ ] ="hello"//錯誤 陣列只能在變數定義時 整體賦初值
指標變數,可以用賦值語句將字串首位址賦值給它,起到整體賦值的效果。如
char *a:
a = "hello";//正確
4.指標變數的值是可以改變的,字元陣列名是位址常量,它的值是不能改變的。
如 char str[ ]="i am a student.";
str=str + 5 ;是錯誤的,str為字元陣列名,它的值是不能改變的。
字元型指標變數與字元陣列的區別
1 分配記憶體 設有定義字元型指標變數與字元陣列的語句如下 char pc str 100 則系統將為字元陣列str分配100個位元組的記憶體單元,用於存放100個字元。而系統只為指標變數pc分配4個儲存單元,用於存放乙個記憶體單元的位址。2 初始化賦值含義 字元陣列與字元指標變數的初始化賦值形式相...
字元型指標變數與字元陣列的區別
1 分配記憶體 設有定義字元型指標變數與字元陣列的語句如下 char pc str 100 則系統將為字元陣列str分配100個位元組的記憶體單元,用於存放100個字元。而系統只為指標變數pc分配4個儲存單元,用於存放乙個記憶體單元的位址。2 初始化賦值含義 字元陣列與字元指標變數的初始化賦值形式相...
字元型指標變數與字元陣列的區別
字元型指標變數與字元陣列的區別 1 分配記憶體 假設有字元型指標變數與字元陣列如下 char p s 10 編譯器為字元陣列s分配 10個位元組記憶體,用於存放 10個字元。而編譯器只為指標變數p分配 4個位元組記憶體。2 初始化賦值含義 字元陣列與字元指標的初始化賦值形式相同,但其含義不同。例如 ...