知識社群登入
位置: 艾鍗學院 Blog > 專業論壇 > 討論
指標的小問題
1樓
請問有沒有指標這樣宣告的
char*ptr=......
可是指標不是位址嗎   所以ptr應該是數字吧   怎麼會是用字元型別呢
2樓


 位址也是數字啊

 char * 到時deference 時,要取回一個byte, 若是int *, ,則取回4個byte
  
3樓
我知道位址是數字阿  所以因為ptr是位址  所以ptr也是數字  但是我不懂為何可以把前方宣告成char(字元)變數

4樓
 
  你沒看懂這句話

 char * 到時deference 時,要取回一個byte, 若是int *, ,則取回4個byte


5樓
我有兩個問題
1.我可以說當宣告char*ptr時  ptr是指向一個字元(1Byte)   當宣告int*ptr時  ptr是指向一個整數(4Byte)  這樣說對嗎
2.我看到講義上一行程式如此寫道:char*orig=WORDS;
請問orig不是指標嗎   為何可以等於WORDS(一個字串)   還是說是因為字串是字元陣列   而陣列也是指標的一種呢

6樓


.>> 我可以說當宣告char*ptr時  ptr是指向一個字元(1Byte)   當宣告int*ptr時  ptr是指向一個整數(4Byte)  這樣說對嗎
  不對, 任何型態的指標變數都是指向一個記憶體位址, 只是存取時要讀回幾個byte 而已

2.我看到講義上一行程式如此寫道:char*orig=WORDS;
請問orig不是指標嗎   為何可以等於WORDS(一個字串)   還是說是因為字串是字元陣列   而陣列也是指標的一種呢
  
  "字串" 本身就是就是存放在某一段記憶體
    char *s="xxxxx";
  你用s指標去指向那一段位址的起始位址而已