結(jié)構(gòu)體類型變量的定義和引用(二)

字號(hào):

7.1.2 結(jié)構(gòu)體類型變量的引用
    學(xué)習(xí)了怎樣定義結(jié)構(gòu)體類型和結(jié)構(gòu)體類型變量,怎樣正確地引用該結(jié)構(gòu)體類型變量的成員呢?C 規(guī)定引用的形式為:
    <結(jié)構(gòu)體類型變量名> . <成員名>
    若我們定義的結(jié)構(gòu)體類型及變量如下:
    struct data
    {
    int day;
    int month;
    int year;
    } time1,time2;
    則變量time1和time2各成員的引用形式為:time1.day、
    time1.month、time1.year及time2.day、time2.month、
    time2.year,如圖7-1所示。
    其結(jié)構(gòu)體類型變量的各成員與相應(yīng)的簡(jiǎn)單類型變量使
    用方法完全相同。
    7.1.3結(jié)構(gòu)體類型變量的初始化
    由于結(jié)構(gòu)體類型變量匯集了各類不同數(shù)據(jù)類型的成員,所以結(jié)構(gòu)體類型變量的初始化就略顯復(fù)雜。
    結(jié)構(gòu)體類型變量的定義和初始化為:
    struct stu / *定義學(xué)生結(jié)構(gòu)體類型* /
    {
    char name[20]; / * 學(xué)生姓名* /
    char sex; / * 性別* /
    long num; / *學(xué)號(hào)* /
    float score[3]; / * 三科考試成績(jī)* /
    };
    struct stu student={"liping",'f',970541,98.5,97.4,95};
    我們也可以通過C提供的輸入輸出函數(shù)完成對(duì)結(jié)構(gòu)體類型變量成員的輸入輸出。由于結(jié)構(gòu)體類型變量成員的數(shù)據(jù)類型通常是不一樣的,所以要將結(jié)構(gòu)體類型變量成員以字符串的形式輸入,利用C的類型轉(zhuǎn)換函數(shù)將其轉(zhuǎn)換為所需類型。類型轉(zhuǎn)換的函數(shù)是:
    int atoi(char *str);轉(zhuǎn)換str所指向的字符串為整型,其函數(shù)的返回值為整型。
    double atof(char*str);轉(zhuǎn)換str所指向的字符串為實(shí)型,其函數(shù)的返回值為雙精度的實(shí)型。
    long atol(char*str);轉(zhuǎn)換str所指向的字符串為長(zhǎng)整型,其函數(shù)的返回值為長(zhǎng)整型。