回覆列表
  • 1 # 上進的白雲5

    結構體巢狀,賦初值,大括號巢狀就可以了。

    問題是你程式碼寫錯了。

    你定義的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\n",old1.year,old1.month,old1.day);

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

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

    return 0;

    }

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

    typedef struct old

    {

    int year;

    int month;

    int day;

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

    )*/

  • 中秋節和大豐收的關聯?
  • 適合女生做的工作有哪些?