结构体指针struct stu *p;和结构体变量struct stu p;结构体为什么要用指针引用而不用变量引用
生活随笔
收集整理的這篇文章主要介紹了
结构体指针struct stu *p;和结构体变量struct stu p;结构体为什么要用指针引用而不用变量引用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
只有“指針變量名”后面才能加“->”,用指針取出結(jié)構(gòu)體中的數(shù)據(jù),就要用到“->”,千萬不要在成員名如 birthday 后面加“->”。
有以下 3 種形式,且是等價(jià)的:
結(jié)構(gòu)體變量.成員名。
(*指針變量).成員名。
指針變量->成員名。
結(jié)構(gòu)指針跟結(jié)構(gòu)體變量相比有什么優(yōu)勢,為什么很多用結(jié)構(gòu)體指針,尤其是作為函數(shù)參數(shù)的時(shí)候?
在ANSI C標(biāo)準(zhǔn)中允許用結(jié)構(gòu)變量作函數(shù)參數(shù)進(jìn)行整體傳送。但是這種傳送要將全部成員逐個(gè)傳送,特別是成員為數(shù)組時(shí)將會使傳送的時(shí)間和空間開銷很大,嚴(yán)重地降低了程序的效率。
因此最好的辦法就是使用指針,即用指針變量作函數(shù)參數(shù)進(jìn)行傳送。這時(shí)由實(shí)參傳向形參的只是地址,從而減少了時(shí)間和空間的開銷。
總結(jié)
以上是生活随笔為你收集整理的结构体指针struct stu *p;和结构体变量struct stu p;结构体为什么要用指针引用而不用变量引用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 原创:硕博连读申请指南:从硕士到博士的捷
- 下一篇: c++的引用是什么意思?怎么回事?