第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開(kāi)發(fā)者教程

C 語(yǔ)言入門(mén)教程

C 語(yǔ)言基礎(chǔ)教程
01 C 語(yǔ)言簡(jiǎn)介 02 C 語(yǔ)言的程序結(jié)構(gòu) 03 C 語(yǔ)言的編譯 04 C 語(yǔ)言的標(biāo)準(zhǔn) 05 C 語(yǔ)言中的注釋 06 C 語(yǔ)言中的變量 07 C 語(yǔ)言中的變量類(lèi)型 08 C 語(yǔ)言的常量 09 C 語(yǔ)言的輸入與輸出 10 C 語(yǔ)言中的 printf() 格式輸出 11 C 語(yǔ)言中的類(lèi)型轉(zhuǎn)換 12 C 語(yǔ)言中的運(yùn)算符 13 C 語(yǔ)言中的算數(shù)運(yùn)算符 14 C 語(yǔ)言中的位運(yùn)算符 15 C 語(yǔ)言中的邏輯運(yùn)算符 16 C 語(yǔ)言中的三目運(yùn)算符 17 C 語(yǔ)言中的分支結(jié)構(gòu) 18 C 語(yǔ)言中的多重分支 19 C 語(yǔ)言中的分支嵌套結(jié)構(gòu) 20 C 語(yǔ)言中的循環(huán)結(jié)構(gòu) 21 C 語(yǔ)言中的 while 循環(huán) 22 C 語(yǔ)言中的 do-While 循環(huán) 23 C 語(yǔ)言中的 for 循環(huán) 24 C 語(yǔ)言中的多重循環(huán)嵌套 25 循環(huán)實(shí)戰(zhàn),打印九九乘法表 26 C 語(yǔ)言中的break和continue 27 C 語(yǔ)言中的 if 語(yǔ)句 28 C 語(yǔ)言中的 switch/case 語(yǔ)句 29 C 語(yǔ)言中的函數(shù) 30 C 語(yǔ)言函數(shù)的定義和聲明 31 C 語(yǔ)言中函數(shù)的參數(shù)傳入類(lèi)型 32 C 語(yǔ)言中的 main() 函數(shù)參數(shù) 33 make 工具 makefile 34 C 語(yǔ)言中的數(shù)組 35 C 語(yǔ)言中的多維數(shù)組 36 數(shù)組的練習(xí) 37 C 語(yǔ)言中的字符串 38 C 語(yǔ)言中的字符串函數(shù) 39 C 語(yǔ)言字符串練習(xí) 40 C 語(yǔ)言中的指針 41 C 語(yǔ)言中的 struct 42 C 語(yǔ)言中的 union 43 C 語(yǔ)言中的 maclloc free() 44 C 語(yǔ)言中的 enum 45 整體練習(xí)-學(xué)生管理系統(tǒng)

C 語(yǔ)言中的 struct

在前面我們學(xué)習(xí)了很多種類(lèi)的變量,每個(gè)變量都會(huì)有一種類(lèi)型。但是如果我們需要定義一個(gè)變量,可以同時(shí)存儲(chǔ)不同的類(lèi)型的變量,那會(huì)在很多場(chǎng)合下很方便的使用。比如我們常見(jiàn)的通信錄,里面會(huì)包含很多信息,比如姓名,電話(huà)號(hào)碼,郵箱地址等信息。這里面就會(huì)涉及到整數(shù),字符串等等。如果每個(gè)人建立的時(shí)候都分別聲明一次其中的變量,那么工作量就會(huì)非常的大,也很容易出現(xiàn)錯(cuò)誤。

那么怎么解決這種情況呢?這就是今天我們要講解的內(nèi)容。

1. 定義聲明 struct

struct 可以將多個(gè)不同或者相同的變量組合起來(lái)形成一個(gè)變量集合。這樣就可以解決如通信錄之類(lèi)應(yīng)用中需要多個(gè)不同類(lèi)型變量組合在一起的需求。我們只要定義一次這個(gè)集合,就可以利用這個(gè)集合來(lái)定義新的變量。被這個(gè)集合定義的變量,會(huì)包含里面定義時(shí)所包含的變量類(lèi)型。

struct Contacts
{
    char name[100];
    int age;
    char mobile[12];
};

上面的例子展示了如何聲明一個(gè) struct 。通過(guò)一個(gè)關(guān)鍵詞 struct 后面加上這個(gè)結(jié)構(gòu)體的名稱(chēng),這個(gè)結(jié)構(gòu)體的內(nèi)部則是組成的變量。

當(dāng)然你可以將定義結(jié)構(gòu)體和使用這個(gè)結(jié)構(gòu)體聲明變量一起進(jìn)行。如下:

struct Contacts
{
    char name[100];
    int age;
    char mobile[12];
} person1, person2, person3;

也可以單獨(dú)使用結(jié)構(gòu)體來(lái)定義變量。

struct Contacts person1, person2, person3;

2. 初始化

初始化一個(gè)結(jié)構(gòu)體有點(diǎn)類(lèi)似一個(gè)數(shù)組的初始化,就是將里面的變量元素按照順序一次賦值就可以了。

struct Contacts person1 = {"John", 30, "123456789000"};

3. 使用 struct

當(dāng)我們聲明一個(gè)結(jié)構(gòu)體變量后就要對(duì)其賦值,那么如何訪(fǎng)問(wèn)這個(gè)集合中的變量呢?

可以使用英文中的句號(hào) . ,這個(gè)代表了結(jié)構(gòu)體中的成員訪(fǎng)問(wèn)。

 printf("Name: %s, Age: %d, mobile: %s\n", person1.name, person1.age, person1.mobile);

4. 示例程序

#include <stdio.h>

int main()
{
    struct Contacts
    {
        char name[100];
        int age;
        char mobile[12];
    };

    struct Contacts person1 = {"John", 30, "123456789000"};

    struct Contacts person2 = {"Tom", 33, "123456789011"};

    struct Contacts person3 = {"Ann", 23, "123456789022"};

    printf("Name: %s, Age: %d, mobile: %s\n", person1.name, person1.age, person1.mobile);
    printf("Name: %s, Age: %d, mobile: %s\n", person2.name, person2.age, person2.mobile);
    printf("Name: %s, Age: %d, mobile: %s\n", person3.name, person3.age, person3.mobile);

    return 0;
}

運(yùn)行結(jié)果:

Name: John, Age: 30, mobile: 123456789000
Name: Tom, Age: 33, mobile: 123456789011
Name: Ann, Age: 23, mobile: 123456789022

5. 小結(jié)

結(jié)構(gòu)體最為一種變量的集合,可以將各種類(lèi)型的變量組成一個(gè)集合。方便我們完成需要多種變量組合才能完成的操作。其實(shí)幾個(gè)的應(yīng)用非常的廣泛,除了通訊錄,還有比如系統(tǒng)存儲(chǔ)鼠標(biāo)位置,畫(huà)筆,一些常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)等等。