c語(yǔ)言定義一個(gè)學(xué)生結(jié)構(gòu)體 怎樣讓結(jié)構(gòu)體指針指向一個(gè)數(shù)組?
怎樣讓結(jié)構(gòu)體指針指向一個(gè)數(shù)組?首先,數(shù)據(jù)是指針。我不明白樓主的問(wèn)題。您可以定義結(jié)構(gòu)的數(shù)據(jù),因此數(shù)組的指針指向該結(jié)構(gòu)。當(dāng)然,C有cast,int*IP//數(shù)組就是這個(gè)意思char*PC=reinterp
怎樣讓結(jié)構(gòu)體指針指向一個(gè)數(shù)組?
首先,數(shù)據(jù)是指針。我不明白樓主的問(wèn)題。您可以定義結(jié)構(gòu)的數(shù)據(jù),因此數(shù)組的指針指向該結(jié)構(gòu)。
當(dāng)然,C有cast,
int*IP//數(shù)組就是這個(gè)意思
char*PC=reinterpretucast
但是這樣做很危險(xiǎn)。小心使用。
結(jié)構(gòu)體指針數(shù)組與結(jié)構(gòu)體數(shù)組有什么不同?
結(jié)構(gòu)指針實(shí)際上是一個(gè)指針,它存儲(chǔ)指向一個(gè)結(jié)構(gòu)的“地址”,因此結(jié)構(gòu)指針數(shù)組存儲(chǔ)指向一組結(jié)構(gòu)的“地址”數(shù)組,該數(shù)組不包含結(jié)構(gòu)的特定內(nèi)容(未分配內(nèi)存)。因此,當(dāng)它們被使用時(shí),它們可以被重定向,比如d=&B//讓d指向B,d存儲(chǔ)B的地址,這樣B就可以通過(guò)d被調(diào)用,或者malloc可以用來(lái)為它們分配內(nèi)存:d=(struct h*)malloc(sizeof(struct h)),所以d指向系統(tǒng)分配的內(nèi)存塊,它的內(nèi)容就是struct h中的內(nèi)容