是由你定義函數(shù)時(shí)所定義的函數(shù)的類型決定的。
企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺,成都創(chuàng)新互聯(lián)公司面向各種領(lǐng)域:成都咖啡廳設(shè)計(jì)等成都網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營銷推廣解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。
也就是說函數(shù)是什么類型,返回值就是什么類型。
比如:
函數(shù)定義? int fun(int a,char b)。
返回值就是整型。
函數(shù)定義? int *fun(int a)。
返回值就是基類型為整型的指針。
函數(shù)定義? void fun(int a)。
無返回值。
簡介
在調(diào)用函數(shù)時(shí),如果需要從被調(diào)函數(shù)返回一個(gè)值供主調(diào)函數(shù)使用,那么返回值類型必須定義成非 void 型。此時(shí)被調(diào)函數(shù)中必須包含 return 語句,而且 return 后面必須要有返回值,否則就是語法錯(cuò)誤。
一個(gè)函數(shù)中可以有多個(gè) return 語句,但并不是所有的 return 語句都起作用。執(zhí)行到哪個(gè) return 語句,就是哪個(gè) return 語句起作用,該 return 語句后的其他語句都不會執(zhí)行。
c語言規(guī)定,函數(shù)返回值的類型是由函數(shù)首部定義的類型決定。函數(shù)返回值應(yīng)與首部定義的類型一致,如若不一致,則自動(dòng)將返回值強(qiáng)制轉(zhuǎn)換為函數(shù)首部定義的類型。沒有定義類型時(shí)默認(rèn)為int型。
也就是說你的函數(shù)是什么類型,返回值就是什么類型。
比如:
函數(shù)定義 int fun(int a,char b)
返回值就是整型
函數(shù)定義 int *fun(int a)
返回值就是基類型為整型的指針
函數(shù)定義 void fun(int a)
無返回值
擴(kuò)展資料
函數(shù)可以有返回值,只要 return 就可以給出一個(gè),不過常常不用它,有兩個(gè)原因:
1、C/C++里返回值是復(fù)制出去的,而對于大的對象,復(fù)制的代價(jià)很高;
2、有些對象是不能復(fù)制的,至少編譯器不知道怎么復(fù)制,比如數(shù)組。
于是有了下面這樣的函數(shù):
bool GetObj(ObjType obj);
bool Encode(const char* src, char* dest);
用一個(gè)參數(shù)來代替返回值,而返回值只是指示函數(shù)執(zhí)行是否成功。
返回一個(gè)大對象是困難的,但這個(gè)困難存在于 C 程序中,而不是 C++ 程序中。 C 函數(shù)里較少通過返回一個(gè)指針來返回對象,因?yàn)椋?/p>
1、如果指針指向棧變量,毫無疑問,要么不用這個(gè)返回值,要么是一個(gè)錯(cuò)誤;
2、如果指針指向堆變量,需要用這個(gè)函數(shù)的程序員會好好的看文檔且足夠細(xì)心會調(diào)用 free,要么就是內(nèi)存泄漏;
3、如果指針指向 static 變量,那么用這個(gè)函數(shù)的程序員牢牢記住“下次調(diào)用這個(gè)函數(shù)以后,上次的返回值也會跟著變”。
在C++里直接返回裸指針的話,情況并不會有什么起色,不過 C++ 有智能指針的,通常它們指向堆變量,占用的空間和裸指針一樣大??紤]前面第一個(gè)函數(shù),寫成:
std::auto_ptrObjType GetObj();
返回值如果不要,作為臨時(shí)變量,會立即被析構(gòu),返回的對象被釋放;如果需要,就得賦值給另一個(gè)智能指針??傊挥贸绦騿T記得,編譯器會保證這個(gè)對象的釋放。
考慮第二個(gè)函數(shù),稍微有一點(diǎn)麻煩,因?yàn)?auto_ptr 是不能用來持有數(shù)組的,不過,在C++的世界里,std::string 幾乎總是比 char* 好用:
std::auto_ptrstd::string Encode(const char* src);
最后考慮最麻煩的情況:
bool AssembleObjList(ObjType objList[], size_t length);
一種是用戶自定義函數(shù),就是自己根據(jù)功能的需要自己編寫的函數(shù);另一種是系統(tǒng)自帶的函數(shù),如sqrt(x)函數(shù) (就是求x的二次方根),這樣的可以直接用,前提是得在頭文件中把它們包含進(jìn)去。
在編程領(lǐng)域中,C語言的運(yùn)用非常之多,它兼顧了高級語言的匯編語言的優(yōu)點(diǎn),相較于其它編程語言具有較大優(yōu)勢。計(jì)算機(jī)系統(tǒng)設(shè)計(jì)以及應(yīng)用程序編寫是C語言應(yīng)用的兩大領(lǐng)域。同時(shí),C語言的普適較強(qiáng),在許多計(jì)算機(jī)操作系統(tǒng)中都能夠得到適用,且效率顯著。
擴(kuò)展資料:
C語言包含有各種控制語句僅有9種,關(guān)鍵字也只有32 個(gè),程序的編寫要求不嚴(yán)格且多以小寫字母為主,對許多不必要的部分進(jìn)行了精簡。
實(shí)際上,語句構(gòu)成與硬件有關(guān)聯(lián)的較少,且C語言本身不提供與硬件相關(guān)的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統(tǒng)所支持的各類庫進(jìn)行編程,故c語言擁有非常簡潔的編譯系統(tǒng)。
如果一個(gè)變量名后面跟著一個(gè)有數(shù)字的中括號,這個(gè)聲明就是數(shù)組聲明。字符串也是一種數(shù)組。它們以ASCII的NULL作為數(shù)組的結(jié)束。要特別注意的是,方括內(nèi)的索引值是從0算起的。
參考資料來源:百度百科-c語言
參考資料來源:百度百科--C語言函數(shù)