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

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

您現(xiàn)在的位置是:首頁 > 技術(shù)閱讀 >  函數(shù)返回值的行業(yè)潛規(guī)則

函數(shù)返回值的行業(yè)潛規(guī)則

時間:2024-02-10
基本上,沒有人會將大段的C語言代碼全部塞入 main() 函數(shù)。更好的做法是按照復用率高、耦合性低的原則,盡可能的將代碼拆分不同的功能模塊,并封裝成函數(shù)。

C語言代碼的組合千變?nèi)f化,因此函數(shù)的功能可能會比較復雜,不同的輸入,常常產(chǎn)生不同的輸出結(jié)果。

C語言函數(shù)的返回值
C語言函數(shù)可以通過返回值表示輸出結(jié)果,例如 log() 函數(shù)的返回值會根據(jù)不同的輸入,返回不同的值。再比如,我們定義一個函數(shù) myopen(),用于打開某個文件,那么,這個函數(shù)要么能夠成功打開文件,要么打開文件失敗,這時,可以通過返回值區(qū)分“成功”和“失敗”。

當然,myopen() 函數(shù)失敗的原因可能很多,但不是本文關(guān)注的重點,本文更關(guān)心的是,該以何值表示“成功”,何值表示“失敗”。

按照C語言語法, 0 表示假,非零(常常用 1)表示真,那是否函數(shù)也用 0 返回值表示“失敗”,1 返回值表示“成功”呢?

行業(yè)“潛規(guī)則”
C語言函數(shù)當然可以使用返回值 0 表示“失敗”,用返回值 1 表示“成功”。

事實上,C語言函數(shù)用什么樣的返回值表示成功或者失敗,只是一種人為的約定,函數(shù)的調(diào)用者遵守這個“約定”就可以了。

C語言也有“行業(yè)潛規(guī)則”,不過,對于一般的函數(shù),大多數(shù)C語言程序員常常使用返回值 0 表示成功,非零值表示失敗。因此,如果希望我們定義的函數(shù)能夠被大多數(shù)人愉快的使用,最好不要反其道而行,遵守“行業(yè)潛規(guī)則”更好一點。

仔細考慮下,其實C語言函數(shù)使用返回值 0 表示成功是有原因的。更一般的C語言函數(shù)返回值并不一定只有兩種可能值(成功/失敗),它可能還會返回對應錯誤原因的返回值。總之,函數(shù)成功只有一種可能,函數(shù)失敗卻有多種可能。

實數(shù)要么是 0,要么非 0,因此可以將 0 看作一個比較特殊的“唯一”數(shù)值,使用 0 這個“唯一”的返回值,表示唯一的“成功”,多種非零的返回值,表示多種原因的失敗,無疑更好一些。

當然,我們也可以說“實數(shù)要么是 1,要么非 1”,不過這顯然也不是“行業(yè)潛規(guī)則”。

例如我們可以規(guī)定,如果 myopen() 函數(shù)因為“文件或者目錄不存在”的原因失敗,返回 -1,如果因為“權(quán)限不夠”的原因失敗,則返回 -2。-1 和 -2 都是“非零值”,而成功作為失敗的對立面,也即“非零值”的對立面,myopen() 函數(shù)使用返回值 0 表示成功無可厚非。

另一種行業(yè)“潛規(guī)則”
當然,C語言程序員中還有一種“行業(yè)潛規(guī)則”。如果定義的函數(shù)是個布爾函數(shù),也即返回值顯式的使用類似于 bool 關(guān)鍵字定義,或者函數(shù)名類似于 is_true(),那么顯然此時應該遵守C語言語法,使用“真”值表示成功,“假”值表示失敗。
if( is_true() )  printf("true\n");

請看上面這兩行C語言代碼,顯然,遵守C語言語法的布爾函數(shù)更便于程序員寫出布爾判斷類的代碼。

小結(jié)
本文主要討論了C語言程序開發(fā)中關(guān)于函數(shù)返回值的問題。可見,使用什么樣的返回值表示成功,什么用的返回值表示失敗,其實只是一種人為約定。

只不過,如果希望我們編寫的代碼能夠被大多數(shù)同行愉快的使用,最好遵守下“行業(yè)潛規(guī)則”。

當然了,若是希望我們的C語言代碼應用性更廣,則可以使用<stdlib.h>標準頭文件里預先定義好的 EXIT_SUCCESS 和 EXIT_FAILURE 宏。

本文素材來源網(wǎng)絡,版權(quán)歸原作者所有。如涉及版權(quán)問題,請與我聯(lián)系刪除。

-END-


往期推薦



四萬字長文,這是我見過最好的模板元編程文章!

如何正確的理解指針和結(jié)構(gòu)體指針、指針函數(shù)、函數(shù)指針這些東西?

C++為什么要弄出虛表這個東西?

研究了一波RTTI,再介紹軟件開發(fā)的201個原則,文末再送6本書

【性能優(yōu)化】高效內(nèi)存池的設計與實現(xiàn)

分享大廠的一些筆試題目

這么多家公司都裁員?辟謠了,我該何去何從?

網(wǎng)傳阿里裁員2萬人…

騰訊 C++ 筆試/面試題及答案

介紹一個C++中非常有用的設計模式

研究了一下Android JNI,有幾個知識點不太懂。

Effective c++


亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩综合| 久久精品日韩一区二区三区| 亚洲性av在线| 一区二区三区欧美| 亚洲美女福利视频网站| 国产精品久久久久久久久果冻传媒 | 久久成人免费视频| 一区二区三区日韩| 亚洲成在人线av| 亚洲第一中文字幕| 亚洲精品美女在线观看播放| 一区二区三区欧美日韩| 欧美在线一级视频| 亚洲欧美在线免费观看| 欧美精品国产一区| 一区二区三区欧美日韩| 国产欧美一区二区三区国产幕精品| 亚洲欧美成人精品| 99热精品在线| 亚洲福利av| 亚洲第一精品久久忘忧草社区| 欧美婷婷六月丁香综合色| 久久人人爽人人爽| 欧美中文字幕在线播放| 一区二区三区免费在线观看| 亚洲美女在线观看| 日韩网站免费观看| 最近中文字幕mv在线一区二区三区四区| 欧美日韩国产色视频| 欧美成人国产一区二区| 久久综合色婷婷| 美国十次了思思久久精品导航| 久久大综合网| 麻豆亚洲精品| 欧美精品久久久久a| 欧美日韩免费网站| 欧美三级网页| 国内久久婷婷综合| 在线观看日韩www视频免费 | 欧美成人精品高清在线播放| 性欧美videos另类喷潮| 亚洲欧美伊人| 男人的天堂亚洲在线| 蘑菇福利视频一区播放| 久久精品一本久久99精品| 久久午夜精品一区二区| 欧美二区在线播放| 国产精品美女www爽爽爽| 国产欧美日韩亚洲一区二区三区| 国语自产精品视频在线看8查询8 | 亚洲国产天堂久久综合网| 国产一区二区丝袜高跟鞋图片| 国产在线播精品第三| 一色屋精品亚洲香蕉网站| 亚洲视频你懂的| 免费久久99精品国产| 国产欧美日韩精品一区| 亚洲高清自拍| 久久九九免费| 国内偷自视频区视频综合| 亚洲人成高清| 久久久久久一区| 亚洲欧洲日韩在线| 久久蜜桃av一区精品变态类天堂| 欧美日本一区| 亚洲精品婷婷| 欧美国产极速在线| 黄色一区二区在线| 久久精品首页| 海角社区69精品视频| 国产精品视频一区二区三区 | 欧美日韩另类视频| 国内视频精品| 欧美成人午夜激情在线| 91久久久国产精品| 欧美激情精品久久久六区热门| 亚洲国产成人不卡| 欧美另类亚洲| 午夜日韩在线观看| 久久综合精品一区| 日韩亚洲视频在线| 国产欧美一区二区精品仙草咪 | 久久久久久久一区| 亚洲成人在线| 国产精品成人久久久久| 欧美一区二区三区播放老司机| 国产在线精品一区二区夜色| 正在播放亚洲| 亚洲成在线观看| 国产精品theporn| 久久精品视频va| 亚洲永久网站| 亚洲伦理久久| 伊人色综合久久天天| 国产精品久久久99| 欧美日在线观看| 欧美精品免费视频| 久久资源av| 久久免费99精品久久久久久| 欧美一区亚洲二区| 性欧美8khd高清极品| 亚洲免费影院| 香蕉乱码成人久久天堂爱免费 | 麻豆久久婷婷| 久久久久久成人| 久久精品国产综合| 久久久久99| 久久婷婷av| 欧美国产1区2区| 欧美激情女人20p| 欧美日本一道本| 国产精品美女视频网站| 国产欧美日韩精品a在线观看| 国产目拍亚洲精品99久久精品| 国产精品美女久久久久aⅴ国产馆| 国产精品高潮视频| 国产亚洲亚洲| 亚洲人成绝费网站色www| 在线中文字幕一区| 欧美伊人久久| 欧美日韩亚洲91| 国产亚洲午夜| 在线亚洲自拍| 免费观看亚洲视频大全| 国产精品日韩一区二区| 91久久久一线二线三线品牌| 午夜精品999| 欧美激情bt| 在线观看av一区| 欧美亚洲日本国产| 欧美日韩国产综合新一区| 国内精品久久久久久久影视蜜臀 | 一本到高清视频免费精品| 久久国产精品高清| 欧美亚一区二区| 亚洲国产精品久久| 久久久久久久久久久一区| 国产精品亚洲视频| 亚洲欧美网站| 国产精品专区一| 亚洲一区二区三区乱码aⅴ| 欧美精品九九99久久| 亚洲第一综合天堂另类专| 久久精品91久久香蕉加勒比| 国产精品第一页第二页第三页| 亚洲黄色成人网| 欧美日韩日日骚| 亚洲一级黄色| 国产欧美一区二区三区另类精品| 中文欧美字幕免费| 国产精品美女久久久久av超清| 亚洲视频狠狠| 国产在线一区二区三区四区 | 久久婷婷麻豆| 91久久午夜| 国产精品久久久久久久久果冻传媒 | 久久久噜噜噜久久狠狠50岁| 一区二区在线视频| 欧美日韩不卡| 久久国产免费看| 在线免费观看成人网| 欧美成人精品| 欧美在线精品一区| 亚洲理伦在线| 在线观看一区二区视频| 国产精品白丝av嫩草影院| 久久久久综合网| 一区二区三区日韩| 亚洲国产欧美一区二区三区同亚洲| 欧美日韩中文精品| 欧美成人免费全部| 久久精品欧洲| 亚洲欧美日韩视频二区| 99国产一区| 亚洲精品日本| 亚洲激情综合| 狠狠综合久久av一区二区小说 | 在线免费观看视频一区| 欧美午夜无遮挡| 欧美系列亚洲系列| 欧美精品七区| 欧美精品二区| 欧美日本韩国一区| 欧美激情亚洲视频| 欧美激情二区三区| 老鸭窝亚洲一区二区三区| 久久久久久久久蜜桃| 久久久人成影片一区二区三区观看| 亚洲性人人天天夜夜摸| 亚洲私人影院| 欧美在线免费| 久久这里有精品15一区二区三区| 久久久不卡网国产精品一区| 欧美综合77777色婷婷| 久久久999国产| 亚洲一区欧美| 久久不射2019中文字幕| 久久夜色精品国产亚洲aⅴ| 欧美激情国产精品| 裸体一区二区三区|