本文目錄一覽:
- 1、關於C語言數組返回值
- 2、c語言中的返回值
- 3、請問C語言中的返回值是什麼意思,為什麼要有返回值,解釋一下,越通俗易懂越好!
- 4、c語言中怎樣返回一個數組?
- 5、C語言中返回值是什麼意思?有什麼用?
關於C語言數組返回值
你錯了
如圖所示,我想問的問題是:
第一張圖片之所以返回一個垃圾值是因為退出test函數後指針P指向變量a地址的值已經被釋放,所以返回一個垃圾值!
答 不是返回垃圾值!而是返回a的地址!!所以輸出是%d是a的地址
那麼,同樣的道理,第二張圖返回的值也應該是個垃圾值才對啊!為什麼返回的還是數組a所存放的值呢?
答 而是返回傳入指針的地址!!只要該地址不被系統使用 自然輸出字符串
c語言中的返回值
其實你的概念一定要清楚的哦,像這種問題得分兩個情況來考慮的:
①首先看函數的行參,如果是數組類型或者是指針類型的,可以斷定為「地址傳遞」,也就是說,一旦主函數調用該函數時,函數間是存在地址傳遞的,把要進行處理運算的主函數的內容的地址傳遞給函數,參與運算的數據其實就是主函數中的實參的內容,簡單來講,就是行參和實參共用一個地址的數據,也就是地址共享。對於這種傳遞,不管存不存在返回值問題,主函數中的實參的數據內容都會變化的;
②如果判斷行參是變量的話,傳遞形式就為「值傳遞」,這樣,主函數中的該變量值是不會改變的,因為兩者的做用域是不同的,在函數里的變量只在該函數體里起作用,並不影響主函數里的變量的值。
其實,對於具體的問題,解答的方法不盡相同的,有些還得綜合考慮定義變量的存儲方式(有外部變量、內部變量、局部變量、全局變量)。
希望我的回答對你有幫助,謝謝!
請問C語言中的返回值是什麼意思,為什麼要有返回值,解釋一下,越通俗易懂越好!
所謂返回值,函數才有,就類似於數學中的函數的概念f(x),其實跟數學概念一開始是一個意思,你傳入一個值x,經過處理,然後返回處理的結果,處理的結果就叫做返回值。
就好像你拿原材料做衣服,需要拿材料到工廠裏面加工,工廠就生產出衣服給你,衣服就是返回值。
這其實跟數學中函數的概念是一樣的。
當然不是所有函數都有返回值,如一些函數只要完成某些特定的功能即可,不需要返回特定的值給主函數。如C語言中的printf這個方法,有些時候只希望屏幕輸出一段加工過的文字,這就可以放在子函數中處理,而不需要將處理結果返回給主函數再處理,能夠節省代碼量。
又如一些多線程的函數,很多都是沒有返回值。具體情況具體分析。。。
c語言中怎樣返回一個數組?
在C語言中,無法直接返回一個數組,但是可以通過返回對應類型指針的方式,返回數組。
在大多數情況下,一維數組和一維指針是可以通用的。
比如,定義一個函數,申請一定長度的整型動態數組,其長度用參數傳入,並將結果返回。如出錯,返回空指針NULL。 代碼可以寫成如下形式:
int *int_array_create(int n)//參數n為數組元素個數
{
int *r;
if(n=0) return NULL;//參數錯誤
r = (int *)malloc(sizeof(int)*n);//申請內存空間,大小為n個int長度。
return r;//返回得到的整型數組的指針。
}
C語言中返回值是什麼意思?有什麼用?
就是子函數的返回值,main主函數也是有返回值的,但是一般用不到,都忽略掉了
所以說,一般來說的返回值就是子函數的返回值
還有一點一定要注意,就是一個子函數一定是只能返回一個值,多了不可以。只能用數組或指針來完成
函數的返回值一般有兩種,無論有無返回值,都需要標類型
一個是void型的。這個一般也不用,他是空返回值。也就是當不需要返回值的時候,函數的類型標void。其實這個也是會返回一個值,好像是調用成功返回1,不成功返回0
另一種是非void型的。就是在函數前面寫上類型,如int,float,char等,這個就是函數的返回值類型。這個一般在子函數的末尾或者程序的某個部位有個return返回一個。但是遇到return子函數一定是要結束的。
其實還有一種返回值,就是scanf和printf等系統帶的函數,這個我知道printf的返回值是他打印的字符的數量。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/283391.html