国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

            手機站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

            千鋒教育

            掃一掃進(jìn)入千鋒手機站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時隨地免費學(xué)習(xí)課程

            當(dāng)前位置:首頁  >  技術(shù)干貨  > struct用法詳解

            struct用法詳解

            來源:千鋒教育
            發(fā)布人:xqq
            時間: 2023-11-20 23:27:02 1700494022

            一、定義結(jié)構(gòu)體

            struct是C語言中的一種復(fù)合數(shù)據(jù)類型,用于將不同類型的數(shù)據(jù)組織在一起形成一個新的數(shù)據(jù)類型。結(jié)構(gòu)體定義的基本語法如下:

            struct 結(jié)構(gòu)體名{
                數(shù)據(jù)類型1 成員變量名1;
                數(shù)據(jù)類型2 成員變量名2;
                ……
            };
            

            在定義結(jié)構(gòu)體時,需要指定結(jié)構(gòu)體的名稱和每個成員變量的名稱和數(shù)據(jù)類型。舉個例子:

            struct Student {
                char name[20];
                int age;
                char gender;
            };
            

            這個示例定義了一個名為Student的結(jié)構(gòu)體,包含了三個成員變量:name、age、gender。name是一個長度為20的字符數(shù)組,age是一個整型,gender是一個字符型。這樣一來,我們就可以定義一個名為stu的變量,這個變量就是Student類型的了:

            struct Student stu;
            

            二、結(jié)構(gòu)體初始化

            結(jié)構(gòu)體定義后,可以單獨為每個成員變量賦值,也可以使用結(jié)構(gòu)體初始化方式為整個結(jié)構(gòu)體賦值。

            使用結(jié)構(gòu)體初始化的方式需要按照順序,為每個成員變量提供一個初始值,使用花括號括起來。如果不想為結(jié)構(gòu)體的所有成員變量賦值,可以使用“{}”或“{0}”來表示剩余成員變量的默認(rèn)值。示例代碼:

            struct Student stu1 = {"Tom", 18, 'M'};
            struct Student stu2 = {.name="Jerry", .gender='F'};
            struct Student stu3 = {0};
            

            三、引用結(jié)構(gòu)體成員

            訪問結(jié)構(gòu)體中的成員變量需要使用“.”運算符。示例代碼:

            struct Student stu;
            strcpy(stu.name, "Michael");
            stu.age = 20;
            stu.gender = 'M';
            printf("%s,%d,%c\n", stu.name, stu.age, stu.gender);
            

            四、結(jié)構(gòu)體作為函數(shù)參數(shù)

            可以把結(jié)構(gòu)體作為函數(shù)的參數(shù)傳遞給函數(shù)來進(jìn)行操作,有兩種傳遞方式:傳值和傳指針。

            結(jié)構(gòu)體傳值:

            struct Student {
                char name[20];
                int age;
            };
            void printStudent(struct Student stu){
                printf("%s,%d\n",stu.name,stu.age);
            }
            int main(){
                struct Student stu = {"Tom", 18};
                printStudent(stu); //Tom,18
                return 0;
            }
            

            結(jié)構(gòu)體傳指針:

            void changeStudent(struct Student* stu, char* name, int age){
                strcpy(stu->name, name);
                stu->age = age;
            }
            int main(){
                struct Student stu = {"Tom", 18};
                changeStudent(&stu, "Jim", 20);
                printf("%s,%d\n",stu.name,stu.age); //Jim,20
                return 0;
            }
            

            五、結(jié)構(gòu)體數(shù)組

            可以使用結(jié)構(gòu)體數(shù)組來一次定義多個結(jié)構(gòu)體變量。示例代碼:

            struct Student{
                char name[20];
                int age;
                char gender;
            };
            int main(){
                struct Student stu[3] = {
                    {"Tom",18,'M'},
                    {"Jerry",17,'F'},
                    {"Mike",19,'M'}
                };
                return 0;
            }
            

            六、結(jié)構(gòu)體嵌套

            可以將一個結(jié)構(gòu)體嵌套在另一個結(jié)構(gòu)體中。示例代碼:

            struct Date{
                int year;
                int month;
                int day;
            };
            struct Student{
                char name[20];
                int age;
                struct Date birthday;
            };
            int main(){
                struct Student stu = {"Tom", 18, {2000,9,1}};
                printf("%s,%d,%d-%d-%d\n",stu.name,stu.age,stu.birthday.year,stu.birthday.month,stu.birthday.day);
                return 0;
            }
            

            七、typedef定義結(jié)構(gòu)體別名

            可以使用typedef關(guān)鍵字為結(jié)構(gòu)體定義一個別名。示例代碼:

            typedef struct Customer{
                char name[20];
                int age;
            }Custom;
            int main(){
                Custom cus = {.name="Tom",.age=18};
                printf("%s,%d\n",cus.name,cus.age);
                return 0;
            }
            

            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT