都說數(shù)組是指針常量 為什么p str 的時候輸出內(nèi)容 ,不輸出地址
?而且為什么gdb得出? ? ? &str = ?&str[0], 不是說數(shù)組名被解釋為數(shù)組第一個元素的地址,也就是說str= &str[0] ? ?這里不是矛盾了嗎 ?是因?yàn)閿?shù)組是變量的原因嗎?
?而且為什么gdb得出? ? ? &str = ?&str[0], 不是說數(shù)組名被解釋為數(shù)組第一個元素的地址,也就是說str= &str[0] ? ?這里不是矛盾了嗎 ?是因?yàn)閿?shù)組是變量的原因嗎?
2017-08-13
舉報(bào)
2017-08-13
查到了 ? ?
int a[10];? a ,&a和&a[0] 都是分別是什么?先說明a ,&a和&a[0]三個值是的相等哈。
a叫做數(shù)組名,是數(shù)組首元素的地址,也就是&a[0]的值。像是一個指針類型,是一個int型的指針類型,int *,先理解成指針吧。
&a這才是一個真正的指針,是一個數(shù)組指針。是數(shù)組的地址。
切記:&a不是指向指針的指針,因?yàn)?amp;a和a的值相等,但是*&a和*a的值不相等。*&a和a的值一樣,說明*&a僅僅是對這個數(shù)組指針進(jìn)行了取值,取得的是數(shù)組的值,即數(shù)組首元素的地址,而不是對&a這個地址進(jìn)行了取值。這個應(yīng)該是c語言中針對數(shù)組指針運(yùn)算的規(guī)定。?
這可能是數(shù)組和其他變量不同之處