您好,現(xiàn)在冰冰來為大家解答以上的問題。指針數(shù)組和數(shù)組指針區(qū)別,指針數(shù)組和數(shù)組指針的區(qū)別相信很多小伙伴還不知道,現(xiàn)在讓我們一起來看看吧!
1、指針數(shù)組:array of pointers,即用于存儲指針的數(shù)組,也就是數(shù)組元素都是指針。
2、數(shù)組指針:a pointer to an array,即指向數(shù)組的指針。
3、還要注意的是用法的區(qū)別,下面舉例說明。
4、int* a[4] 指針數(shù)組 表示:數(shù)組a中的元素都為int型指針 元素表示:*a[i] *(a[i])是一樣的,因?yàn)閇]優(yōu)先級高于*int (*a)[4] 數(shù)組指針 表示:指向數(shù)組a的指針 元素表示:(*a)[i] 注意:在實(shí)際應(yīng)用中,對于指針數(shù)組,經(jīng)常這樣使用:typedef int* pInt;pInt a[4]; 這跟上面指針數(shù)組定義所表達(dá)的意思是一樣的,只不過采取了類型變換。
5、代碼演示如下: #include 6、但為什么a就不用給他地址呢,a的元素是指針,實(shí)際上for循環(huán)內(nèi)已經(jīng)給數(shù)組a中元素指定地址了。 7、但若在for循環(huán)內(nèi)寫*a[i]=c[i],這同樣會出問題。 8、總之一句話,定義了指針一定要知道指針指向哪里,不然要悲劇。 本文就為大家分享到這里,希望小伙伴們會喜歡。