瀏覽量:64次
一個(gè)指針變量當(dāng)用來指向一個(gè)結(jié)構(gòu)變量時(shí),稱之為結(jié)構(gòu)指針變量。結(jié)構(gòu)指針變量中的值是所指向的結(jié)構(gòu)變量的首地址。通過結(jié)構(gòu)指針即可訪問該結(jié)構(gòu)變量,這與數(shù)組指針和函數(shù)指針的情況是相同的。
structstu{
intnum;
char*name;
charsex;
floatscore;
}boy1={102,"Zhang ping",'M',78.5},*pstu;
main(){
pstu=&boy1;
printf("Number=%d\nName=%s\n",boy1.num,boy1.name);
printf("Sex=%c\nScore=%f\n\n",boy1.sex,boy1.score);
printf("Number=%d\nName=%s\n",(*pstu).num,(*pstu).name);
printf("Sex=%c\nScore=%f\n\n",(*pstu).sex,(*pstu).score);
printf("Number=%d\nName=%s\n",pstu->num,pstu->name);
printf("Sex=%c\nScore=%f\n\n",pstu->sex,pstu->score);
}
本例程序定義了一個(gè)結(jié)構(gòu)stu,定義了stu類型結(jié)構(gòu)變量boy1并作了初始化賦值,還定義了一個(gè)指向stu類型結(jié)構(gòu)的指針變量pstu。在main函數(shù)中,pstu被賦予boy1的地址,因此pstu指向boy1。然后在printf語句內(nèi)用三種形式輸出boy1的各個(gè)成員值。從運(yùn)行結(jié)果可以看出: 結(jié)構(gòu)變量.成員名 (*結(jié)構(gòu)指針變量).成員名 結(jié)構(gòu)指針變量->成員名這三種用于表示結(jié)構(gòu)成員的形式是完全等效的。
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點(diǎn),本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們在確認(rèn)后,會(huì)立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776