欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
請教函數參數個數問題
[打印本頁]
作者:
萬家燈火51
時間:
2024-8-21 12:20
標題:
請教函數參數個數問題
很多題中都說c51函數參數是寄存器傳遞的,個數有嚴格顯示,不能超過3個。我測試了,很多個都沒有問題啊。例如下面,編譯完全通過,沒任何問題。
#include<reg51.h>
char fun(int a,int b, int c, int d,char e){
return a+b+c+d+e;
}
void main(){
char x;
x=fun(1,2,3,4,5);
P2=x;
while(1);
}
作者:
cyi8
時間:
2024-8-21 16:33
先了解全局變量與局部變量的區別,你這個是函數內定義的局部變量,局部變量的限制要高一點吧,一般范圍是在5-10個。
全局變量一般要求是不超過2個,當然程序中你多了程序也可以執行(不排除一些編程軟件直接限制全局變量在函數的數量,直接報錯),多于3個時一部分通過存儲區傳遞,直接的影響了程序的執行效率和程序的可讀性,對于程序執行和維護都不友好
作者:
zhuls
時間:
2024-8-21 17:15
C51的函數所帶的參數是要入棧的,所以能帶多少個參數由單片的RAM來決定。
理論上可以很多,只要你的RAM夠大。
但如果一個函數如果帶了10多個、甚至更多個參數,明顯不是個好的編程習慣和風格。
所以RAM還是該省省、該花花。
作者:
wufa1986
時間:
2024-8-22 15:49
C語言會處理這個問題,很多參數建議還是結構體傳遞
作者:
李冬
時間:
2024-8-29 17:01
改成int fun試試
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1