字串是一連串地址連續的記憶體空間,每個地址對應字串元素的地址。
我們一般說的字串的地址,就是指字串首元素的地址。
比如:char
str[10];這樣的陣列。它的地址就是其str[0]的地址。
所以可以表示為str,或者&str[0]。
如果說取其他元素的地址,&str[對應下標]就可以了。
因為地址連續,定義指標接收,還可以透過指標加減獲取對應元素地址。
比如char
*p=&str[2];(我們讓指標指向第3個元素地址),那麼p++;p就是指向了第4個元素地址。同理p——;就指向第2個元素地址。
注意,陣列名str,可以表示陣列首地址,但其本身是常量指標,不能賦值。
另外列印地址,可以用格式%p