在C語(yǔ)言中,指向結(jié)構(gòu)體對(duì)象的指針變量既可以指向結(jié)構(gòu)體變量,也可指向結(jié)構(gòu)體數(shù)組中的元素。
指針變量的基類(lèi)型必須與結(jié)構(gòu)體變量的類(lèi)型相同。
C語(yǔ)言中允許
(*p).num用p->num來(lái)代替
->代表一個(gè)箭頭
p->num表示p所指向的結(jié)構(gòu)體變量中的num成員
C語(yǔ)言指向結(jié)構(gòu)體數(shù)組的指針
(++p)->num
先使p自加1,然后得到p指向的元素中的num成員值。
(p++)->num
先求的p->num的值,然后再使p自加1。
C語(yǔ)言用結(jié)構(gòu)體變量和結(jié)構(gòu)體變量的指針作函數(shù)參數(shù)
用結(jié)構(gòu)體變量的成員作參數(shù),用法和用普通變量作實(shí)參是一樣的,屬于“值傳遞”方式。應(yīng)當(dāng)注意實(shí)參與形參的類(lèi)型保持一致。
用結(jié)構(gòu)體變量作實(shí)參。用結(jié)構(gòu)體變量作實(shí)參時(shí),采取的也是“值傳遞”的方式,將結(jié)構(gòu)體變量所占的內(nèi)存單元的內(nèi)容全部按順序傳遞給形參,形參也必須是同類(lèi)型的結(jié)構(gòu)體變量。
用指向結(jié)構(gòu)體變量(或數(shù)組元素)的指針作實(shí)參,將結(jié)構(gòu)體變量的地址傳給形參。
C語(yǔ)言使用結(jié)構(gòu)體指針輸出生日
#include
#include
struct Age
{
int year;
int month;
int day;
};
struct Student
{
char name[20];//姓名
struct Age birthday; //生日
};
int main(void)
{
struct Student student1; //定義結(jié)構(gòu)體變量student1
struct Student *point =NULL; //定義一個(gè)指向Student結(jié)構(gòu)體類(lèi)型的指針變量point
point = &student1;//point指向結(jié)構(gòu)體變量student1的首地址, 即第一個(gè)成員的地址
strcpy((*point ).name,"閆小林");//(*point).name等價(jià)于student1.name
(*point ).birthday.year =1989;
(*point ).birthday.month =4;
(*point ).birthday.day =29;
printf("姓名:%s\\n", (*point ).name);//(*point).name不能寫(xiě)成point
printf("生日:%d-%d-%d\\n", (*point).birthday.year, (*point).birthday.month, (*point).birthday.day);
return 0;
}
編譯運(yùn)行結(jié)果:
姓名:閆小林
生日:1989-4-29
--------------------------------
Process exited after0.04992 secondswith return value0
請(qǐng)按任意鍵繼續(xù). . .
-
C語(yǔ)言
+關(guān)注
關(guān)注
183文章
7634瀏覽量
143925 -
指針
+關(guān)注
關(guān)注
1文章
484瀏覽量
71582 -
結(jié)構(gòu)體
+關(guān)注
關(guān)注
1文章
131瀏覽量
11248
發(fā)布評(píng)論請(qǐng)先 登錄
C語(yǔ)言結(jié)構(gòu)體組及指針問(wèn)題
求C語(yǔ)言指針和結(jié)構(gòu)體方面比較好的書(shū)籍或者視頻
嵌入式linux學(xué)習(xí)筆記20160822-每天進(jìn)步一點(diǎn)點(diǎn),向嵌入式進(jìn)軍-C語(yǔ)言指針/結(jié)構(gòu)體
單片機(jī)C語(yǔ)言 -- 基于結(jié)構(gòu)體的面向?qū)ο缶幊碳记?/a>
C語(yǔ)言結(jié)構(gòu)體對(duì)函數(shù)指針封裝示例
如何寫(xiě)單片機(jī)的C語(yǔ)言結(jié)構(gòu)體
C語(yǔ)言中的結(jié)構(gòu)體指針在訪問(wèn)的時(shí)候怎么讀取成員變量的數(shù)據(jù)?
C語(yǔ)言入門(mén)教程-指向結(jié)構(gòu)體的指針
C語(yǔ)言入門(mén)教程-用指針操作數(shù)組
C語(yǔ)言入門(mén)教程之C語(yǔ)言其實(shí)很簡(jiǎn)單的PPT課件資料免費(fèi)下載

嵌入式C語(yǔ)言的指針、函數(shù)概念、結(jié)構(gòu)體遞歸三大挑戰(zhàn)
C程序設(shè)計(jì)入門(mén)筆記之數(shù)組與結(jié)構(gòu)體

詳解C語(yǔ)言指針底層基本原理
結(jié)構(gòu)體與指針的關(guān)系

評(píng)論