當前位置:首頁 » 編程語言 » c語言結構體嵌套結構體

c語言結構體嵌套結構體

發布時間: 2023-01-21 20:27:14

『壹』 c語言結構體可以隨意嵌套結構體么

可以,typedef是將其定義為一種類型,方便於後來定義此類型的變數
給你舉個例子:
第一種方式:
struct panel
{
...
};
struct player
{
struct panel panel1;
...
};
後面如果需要定義player類型的變數,則要有此格式: struct player var1

第二種方式:
typedef struct panel
{
...
};
typedef struct player
{
panel panel1;
...
};

如果需要定義player類型變數,則用 player var1就可以了!

typedef是定義變數類型!

是否main之內,都可以用
typedef後,再定義不需要加struct
而沒有typedef,定義時要加struct

我給你改好了!已經回復!

『貳』 C語言 如何在結構體中給嵌套的結構體賦值

結構體嵌套,賦初值,大括弧嵌套就可以了。
問題是你代碼寫錯了。
你定義的old1不是結構類型,而是結構變數。
在shuju中成員要寫struct old 變數名;
不能寫struct old1。
下面是演示代碼:(補充:如果想定義一個結構類型別名,要用typedef

#include <stdio.h>

struct old

{

int year;

int month;

int day;

}old1={1972, 8, 3};

struct shuju

{

char name[10];

char gender[6];

int height;

struct old old1;

char access[9];

}shuju1={"moumouren","male",175,{2019,6,29},"well"};

int main()

{

printf("結構變數old1的初值: %d %d %d ",old1.year,old1.month,old1.day);

printf("結構變數shuju1中成員old1的初值:%d %d %d ",shuju1.old1.year,shuju1.old1.month,shuju1.old1.day);

printf("我特意起一樣的名字,就是告訴你這兩個變數是不一樣的。 ");

return 0;

}

/*(補充:如果想定義一個結構類型別名,要用

typedef struct old

{

int year;

int month;

int day;

}old1;//這樣old1才表示是一個類型,然後再定義該類型變數時,才可以寫 old1 變數名;

)*/

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:585
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:881
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:574
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:761
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:677
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1005
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:249
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:108
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:799
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:705