*p=&a和p=&a 數(shù)組名和指針的區(qū)別?
數(shù)組名和指針的區(qū)別?數(shù)組和指針之間的區(qū)別:數(shù)組名稱確實表示指向數(shù)組第一個地址的指針,但是這個指針非常特殊。它的值(指針的值指指針的地址)不能重寫??梢灾貙懙闹皇撬赶虻膬?nèi)容。換句話說,數(shù)組名只能指向
數(shù)組名和指針的區(qū)別?
數(shù)組和指針之間的區(qū)別:數(shù)組名稱確實表示指向數(shù)組第一個地址的指針,但是這個指針非常特殊。它的值(指針的值指指針的地址)不能重寫??梢灾貙懙闹皇撬赶虻膬?nèi)容。換句話說,數(shù)組名只能指向數(shù)組的第一個地址。如果存在數(shù)組char a[],則如果出現(xiàn)a=a,則這是一個編譯錯誤。對于普通指針,這是可能的。例如,如果有一個數(shù)組char a,那么定義char*P=a然后P=p1是合法的,這意味著指針P指向&A[1]。它們之間的第二個區(qū)別是,每當(dāng)使用數(shù)組名的指針時,系統(tǒng)都會傳入數(shù)組的信息,而普通的指針只是一個4字節(jié)的整數(shù),例如:
char a[5]char*P=a//指針a和指針P都指向數(shù)組a cout<< sizeof(a)< “#”<< sizeof(P)<<[endl
此時,運行結(jié)果是“5#4”
指針和數(shù)組的區(qū)別?
您好,指針指向一個內(nèi)存,其中包含該內(nèi)存的地址。數(shù)組也是一個指針,但是當(dāng)它在開始時被定義時,它指向一個空內(nèi)存(由系統(tǒng)給出,您可以安全地使用它),并且它是一個*const常量指針(請注意,它不是指向常量的指針)。只要聲明了這個指針,它就不能再指向其他內(nèi)存。此外,數(shù)組和指針都可以用括號運算符進行偏移??偠灾?,指針和數(shù)組的本質(zhì)是完全相同的,只是數(shù)組在開始時得到一塊內(nèi)存