亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 編程規范與范例(2).txt

?? 編程規范,各程編程的規范說明,及要注意的問題!
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
typedef struct STUDENT_STRU
{
    unsigned char name[8]; /* student's name */
    unsigned char age;     /* student's age */
    unsigned char sex;     /* student's sex, as follows */
                           /* 0 - FEMALE; 1 - MALE */
    unsigned char 
           teacher_name[8]; /* the student teacher's name */
    unisgned char 
           teacher_sex;     /* his teacher sex */
} STUDENT;

若改為如下,可能更合理些。
typedef struct TEACHER_STRU
{
    unsigned char name[8]; /* teacher name */
    unisgned char sex;     /* teacher sex, as follows */
                           /* 0 - FEMALE; 1 - MALE */
} TEACHER;

typedef struct STUDENT_STRU
{
    unsigned char name[8];     /* student's name */
    unsigned char age;         /* student's age */
    unsigned char sex;         /* student's sex, as follows */
                               /* 0 - FEMALE; 1 - MALE */
    unsigned int  teacher_ind; /* his teacher index */
} STUDENT;
½ 5-4:不要設計面面俱到、非常靈活的數據結構。
說明:面面俱到、靈活的數據結構反而容易引起誤解和操作困難。
½ 5-5:不同結構間的關系不要過于復雜。
說明:若兩個結構間關系較復雜、密切,那么應合為一個結構。
示例:如下兩個結構的構造不合理。
typedef struct PERSON_ONE_STRU
{
    unsigned char name[8];
    unsigned char addr[40];
    unsigned char sex;
    unsigned char city[15];
} PERSON_ONE;

typedef struct PERSON_TWO_STRU
{
    unsigned char name[8];
    unsigned char age;
    unsigned char tel;
} PERSON_TWO;

由于兩個結構都是描述同一事物的,那么不如合成一個結構。
typedef struct PERSON_STRU
{
    unsigned char name[8];
    unsigned char age;
    unsigned char sex;
    unsigned char addr[40];
    unsigned char city[15];
    unsigned char tel;
} PERSON;
½ 5-6:結構中元素的個數應適中。若結構中元素個數過多可考慮依據某種原則把元素組成不同的子結構,以減少原結構中元素的個數。
說明:增加結構的可理解性、可操作性和可維護性。
示例:假如認為如上的_PERSON結構元素過多,那么可如下對之劃分。
typedef struct PERSON_BASE_INFO_STRU
{
    unsigned char name[8];
    unsigned char age;
    unsigned char sex;
} PERSON_BASE_INFO;

typedef struct PERSON_ADDRESS_STRU
{
    unsigned char addr[40];
    unsigned char city[15];
    unsigned char tel;
} PERSON_ADDRESS;

typedef struct PERSON_STRU
{
    PERSON_BASE_INFO person_base;
    PERSON_ADDRESS person_addr;
} PERSON;
½ 5-7:仔細設計結構中元素的布局與排列順序,使結構容易理解、節省占用空間,并減少引起誤用現象。
說明:合理排列結構中元素順序,可節省空間并增加可理解性。
示例:如下結構中的位域排列,將占較大空間,可讀性也稍差。
typedef struct EXAMPLE_STRU
{
    unsigned int valid: 1;
    PERSON person;
    unsigned int set_flg: 1;
} EXAMPLE;

若改成如下形式,不僅可節省1字節空間,可讀性也變好了。
typedef struct EXAMPLE_STRU
{
    unsigned int valid: 1;
    unsigned int set_flg: 1;
    PERSON person ;
} EXAMPLE;
½ 5-8:結構的設計要盡量考慮向前兼容和以后的版本升級,并為某些未來可能的應用保留余地(如預留一些空間等)。
說明:軟件向前兼容的特性,是軟件產品是否成功的重要標志之一。如果要想使產品具有較好的前向兼容,那么在產品設計之初就應為以后版本升級保留一定余地,并且在產品升級時必須考慮前一版本的各種特性。
½ 5-9:留心具體語言及編譯器處理不同數據類型的原則及有關細節。
說明:如在C語言中,static局部變量將在內存“數據區”中生成,而非static局部變量將在“堆棧”中生成。這些細節對程序質量的保證非常重要。
½ 5-10:編程時,要注意數據類型的強制轉換。
說明:當進行數據類型強制轉換時,其數據的意義、轉換后的取值等都有可能發生變化,而這些細節若考慮不周,就很有可能留下隱患。
½ 5-11:對編譯系統默認的數據類型轉換,也要有充分的認識。
示例:如下賦值,多數編譯器不產生告警,但值的含義還是稍有變化。
char chr;
unsigned short int exam;

chr = -1;
exam = chr; // 編譯器不產生告警,此時exam為0xFFFF。
½ 5-12:盡量減少沒有必要的數據類型默認轉換與強制轉換。
½ 5-13:合理地設計數據并使用自定義數據類型,避免數據間進行不必要的類型轉換。
½ 5-14:對自定義數據類型進行恰當命名,使它成為自描述性的,以提高代碼可讀性。注意其命名方式在同一產品中的統一。
說明:使用自定義類型,可以彌補編程語言提供類型少、信息量不足的缺點,并能使程序清晰、簡潔。
示例:可參考如下方式聲明自定義數據類型。

下面的聲明可使數據類型的使用簡潔、明了。
typedef unsigned char  BYTE;
typedef unsigned short WORD;
typedef unsigned int   DWORD;

下面的聲明可使數據類型具有更豐富的含義。
typedef float DISTANCE;
typedef float SCORE;
½ 5-15:當聲明用于分布式環境或不同CPU間通信環境的數據結構時,必須考慮機器的字節順序、使用的位域及字節對齊等問題 。
說明:比如Intel CPU與68360 CPU,在處理位域及整數時,其在內存存放的“順序”正好相反。
示例:假如有如下短整數及結構。
unsigned short int exam;
typedef struct EXAM_BIT_STRU
{                       /* Intel 68360 */
    unsigned int A1: 1; /* bit  0      7   */
    unsigned int A2: 1; /* bit  1      6   */
    unsigned int A3: 1; /* bit  2      5   */
} EXAM_BIT;

如下是Intel CPU生成短整數及位域的方式。
內存: 0          1         2    ...  (從低到高,以字節為單位)
exam  exam低字節  exam高字節

內存:        0 bit     1 bit      2 bit    ...  (字節的各“位”)
EXAM_BIT     A1        A2         A3

如下是68360 CPU生成短整數及位域的方式。
內存: 0          1         2    ...  (從低到高,以字節為單位)
exam  exam高字節  exam低字節

內存:        7 bit     6 bit      5 bit    ...  (字節的各“位”)
EXAM_BIT     A1        A2         A3

說明:在對齊方式下,CPU的運行效率要快得多。
示例:如下圖,當一個long型數(如圖中long1)在內存中的位置正好與內存的字邊界對齊時,CPU存取這個數只需訪問一次內存,而當一個long型數(如圖中的long2)在內存中的位置跨越了字邊界時,CPU存取這個數就需要多次訪問內存,如i960cx訪問這樣的數需讀內存三次(一個BYTE、一個SHORT、一個BYTE,由CPU的微代碼執行,對軟件透明),所有對齊方式下CPU的運行效率明顯快多了。
1       8       16      24      32
------- ------- ------- -------
| long1 | long1 | long1 | long1 |
------- ------- ------- -------
|       |       |       | long2 |
------- ------- ------- --------
| long2 | long2 | long2 |       |
------- ------- ------- --------
| ....  
 

 
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕中文字幕一区二区| 99精品视频一区二区三区| 欧美一二三区在线| 日av在线不卡| 精品国产乱子伦一区| 国产精品911| 亚洲欧美影音先锋| 色久优优欧美色久优优| 亚洲一二三四区| 91精品在线麻豆| 国产麻豆午夜三级精品| 一区在线观看视频| 欧美视频在线一区二区三区| 日本女人一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 成人精品国产福利| 亚洲www啪成人一区二区麻豆| 日韩欧美aaaaaa| 91亚洲精品久久久蜜桃网站| 亚洲 欧美综合在线网络| 精品嫩草影院久久| 93久久精品日日躁夜夜躁欧美| 亚洲国产精品一区二区久久| 日韩精品一区二区三区视频播放| 成人免费毛片a| 亚洲一区二区精品3399| 久久综合狠狠综合久久综合88| 成人黄色av电影| 日韩福利电影在线| 亚洲色欲色欲www| 欧美电影免费观看高清完整版在 | 国产老肥熟一区二区三区| 国产精品午夜免费| 欧美疯狂做受xxxx富婆| thepron国产精品| 青青草国产成人av片免费| 一色屋精品亚洲香蕉网站| 日韩午夜小视频| 欧美亚洲综合在线| 国产激情视频一区二区三区欧美| 亚洲一区二区三区国产| 国产精品久久久久久久久免费丝袜| 精品视频免费在线| 不卡视频在线观看| 精油按摩中文字幕久久| 亚洲图片自拍偷拍| 中文字幕一区二区三区在线观看| 欧美变态口味重另类| 欧美日韩一二区| 成人激情av网| 国产精品一区二区三区99| 午夜视频久久久久久| 亚洲精品视频在线| 国产精品电影一区二区| 国产欧美日韩在线看| 欧美一区二区三区思思人| 在线观看三级视频欧美| 成人av在线看| 懂色av中文字幕一区二区三区 | 麻豆成人久久精品二区三区小说| 一区二区在线免费观看| 综合久久久久久| 中文一区在线播放| 日本一二三不卡| 久久久美女艺术照精彩视频福利播放 | 国产欧美一区二区精品秋霞影院| 欧美高清一级片在线| 91九色最新地址| 色婷婷精品久久二区二区蜜臀av | 亚洲欧美一区二区三区国产精品| 亚洲国产精品av| 日本一区二区三区久久久久久久久不 | 激情久久五月天| 六月丁香婷婷久久| 青青草97国产精品免费观看无弹窗版| 亚洲综合男人的天堂| 亚洲精品乱码久久久久久黑人| |精品福利一区二区三区| 亚洲欧洲日韩综合一区二区| 国产精品入口麻豆九色| 日本一区二区久久| 国产精品乱码一区二区三区软件| 中文字幕电影一区| 亚洲天堂2016| 夜夜爽夜夜爽精品视频| 亚洲成va人在线观看| 天天综合天天综合色| 久久国产乱子精品免费女| 蜜臀久久久99精品久久久久久| 久久99国产精品成人| 黑人精品欧美一区二区蜜桃| 韩国精品主播一区二区在线观看| 国产精品456| 97se亚洲国产综合自在线| 欧美中文字幕亚洲一区二区va在线 | 久草中文综合在线| 国产福利不卡视频| 一本到高清视频免费精品| 88在线观看91蜜桃国自产| 久久综合久久久久88| 亚洲色欲色欲www| 午夜精品成人在线| 国产精一区二区三区| 91婷婷韩国欧美一区二区| 欧美日韩一区二区三区视频| 日韩精品一区二| 国产精品日日摸夜夜摸av| 亚洲一区在线观看免费 | 国产一区激情在线| av电影天堂一区二区在线观看| 91久久精品一区二区| 日韩欧美二区三区| 国产精品美女久久久久久久| 亚洲久草在线视频| 麻豆精品视频在线观看| bt7086福利一区国产| 欧美日韩一区二区三区高清| 国产三级精品在线| 午夜欧美2019年伦理| 成人免费va视频| 欧美精品九九99久久| 国产欧美一区二区精品性| 首页国产丝袜综合| 成人激情av网| 欧美成人一区二区三区在线观看 | 亚洲大型综合色站| 国产一区二区三区综合| 欧美视频你懂的| 国产精品人妖ts系列视频| 视频一区中文字幕国产| 99久久亚洲一区二区三区青草| 欧美一级免费大片| 亚洲精品国产一区二区精华液| 久久精品国产99| 欧美日韩国产小视频在线观看| 久久精品欧美日韩| 蜜桃视频在线观看一区| 91成人免费在线| 国产精品久久久久久久裸模| 精品一区免费av| 欧美理论电影在线| 亚洲精品免费看| 成人看片黄a免费看在线| 欧美videossexotv100| 五月激情综合色| 在线免费观看视频一区| 中文字幕免费观看一区| 国内成+人亚洲+欧美+综合在线| 欧美年轻男男videosbes| 亚洲久本草在线中文字幕| 成人亚洲精品久久久久软件| 精品播放一区二区| 美腿丝袜在线亚洲一区| 91精品黄色片免费大全| 婷婷中文字幕一区三区| 欧美在线小视频| 亚洲一区二区三区中文字幕在线| 一本一道综合狠狠老| 国产精品乱人伦中文| 国产99久久久国产精品潘金| 久久久久久久一区| 国模冰冰炮一区二区| 久久久综合精品| 精品综合免费视频观看| 精品国产伦理网| 国产精华液一区二区三区| 久久久三级国产网站| 国产传媒久久文化传媒| 国产亚洲美州欧州综合国| 国产传媒日韩欧美成人| 欧美国产禁国产网站cc| 成人高清伦理免费影院在线观看| 中文一区在线播放| 91啪亚洲精品| 亚洲一区二区欧美| 亚洲三级久久久| 91丨九色丨蝌蚪丨老版| 夜夜嗨av一区二区三区中文字幕| 在线观看亚洲精品| 日本中文字幕不卡| 亚洲精品一线二线三线无人区| 狠狠网亚洲精品| 中文字幕精品在线不卡| 色老汉一区二区三区| 丝袜亚洲精品中文字幕一区| 日韩一卡二卡三卡国产欧美| 激情六月婷婷综合| 国产精品第四页| 欧美老女人在线| 国产又粗又猛又爽又黄91精品| 国产欧美精品区一区二区三区| av一区二区久久| 亚洲国产成人av网| xvideos.蜜桃一区二区| 99久久精品一区| 日韩电影在线观看网站| 国产女人aaa级久久久级| 色综合久久88色综合天天| 亚洲va欧美va国产va天堂影院| 日韩免费在线观看|