c语言结构体嵌套及输出,C语言结构体嵌套
C語言中的嵌套結構體表示在一個結構體中可以使用另一個結構作為成員。在C語言中定義結構體嵌套有兩種方法:
通過獨立的結構
通過嵌入式結構
1. 獨立結構
我們可以創建2個結構體,但在主結構中應該使用依賴其它結構體作為成員。我們來看看嵌套結構體的代碼。
struct Date
{
int dd;
int mm;
int yyyy;
};
struct Employee
{
int id;
char name[20];
struct Date doj; // 嵌套一個結構體:Date,用于存儲日期
}emp1;
如上所見,doj(加入日期)是Date類型的變量。 這里doj用作為Employee結構體中的成員。通過這樣的方式,我們可以在其他結構體中使用Date結構。
2.嵌入式結構體
我們可以在結構體內定義結構體,它比第一種方式需要更少的代碼。但它不能用于其它結構中。
struct Employee
{
int id;
char name[20];
struct Date
{
int dd;
int mm;
int yyyy;
}doj;
}emp1;
訪問嵌套結構體
我們可以通過Outer_Structure.Nested_Structure.member訪問嵌套結構的成員,如下所示:
e1.doj.dd
e1.doj.mm
e1.doj.yyyy
嵌套結構體示例
我們來看看C語言中嵌套結構體的一個簡單例子。創建一個源代碼文件:nested-structure.c,其代碼如下 -
#include
#include
struct Employee
{
int id;
char name[20];
struct Date
{
int dd;
int mm;
int yyyy;
}doj;
}e1;
int main()
{
//storing employee information
e1.id = 1001;
strcpy(e1.name, "Maxsu");//copying string into char array
e1.doj.dd = 12;
e1.doj.mm = 11;
e1.doj.yyyy = 2018;
//printing first employee information
printf("employee id : %d\n", e1.id);
printf("employee name : %s\n", e1.name);
printf("employee date of joining (dd/mm/yyyy) : %d/%d/%d\n", e1.doj.dd, e1.doj.mm, e1.doj.yyyy);
return 0;
}
執行上面示例代碼,得到以下結果 -
employee id : 1001
employee name : Maxsu
employee date of joining (dd/mm/yyyy) : 12/11/2018
¥ 我要打賞
糾錯/補充
收藏
加QQ群啦,易百教程官方技術學習群
注意:建議每個人選自己的技術方向加群,同一個QQ最多限加 3 個群。
總結
以上是生活随笔為你收集整理的c语言结构体嵌套及输出,C语言结构体嵌套的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java —— 内存泄露排查
- 下一篇: XSS挑战之旅---游戏通关攻略