久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1027|回復(fù): 4
收起左側(cè)

請教函數(shù)參數(shù)個數(shù)問題

[復(fù)制鏈接]
ID:349276 發(fā)表于 2024-8-21 12:20 | 顯示全部樓層 |閱讀模式
很多題中都說c51函數(shù)參數(shù)是寄存器傳遞的,個數(shù)有嚴(yán)格顯示,不能超過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);

}

回復(fù)

使用道具 舉報

ID:1121801 發(fā)表于 2024-8-21 16:33 | 顯示全部樓層
先了解全局變量與局部變量的區(qū)別,你這個是函數(shù)內(nèi)定義的局部變量,局部變量的限制要高一點(diǎn)吧,一般范圍是在5-10個。
全局變量一般要求是不超過2個,當(dāng)然程序中你多了程序也可以執(zhí)行(不排除一些編程軟件直接限制全局變量在函數(shù)的數(shù)量,直接報錯),多于3個時一部分通過存儲區(qū)傳遞,直接的影響了程序的執(zhí)行效率和程序的可讀性,對于程序執(zhí)行和維護(hù)都不友好

回復(fù)

使用道具 舉報

ID:69038 發(fā)表于 2024-8-21 17:15 | 顯示全部樓層
C51的函數(shù)所帶的參數(shù)是要入棧的,所以能帶多少個參數(shù)由單片的RAM來決定。
理論上可以很多,只要你的RAM夠大。
但如果一個函數(shù)如果帶了10多個、甚至更多個參數(shù),明顯不是個好的編程習(xí)慣和風(fēng)格。
所以RAM還是該省省、該花花。
回復(fù)

使用道具 舉報

ID:879348 發(fā)表于 2024-8-22 15:49 | 顯示全部樓層
C語言會處理這個問題,很多參數(shù)建議還是結(jié)構(gòu)體傳遞
回復(fù)

使用道具 舉報

ID:709761 發(fā)表于 2024-8-29 17:01 | 顯示全部樓層
改成int fun試試
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产精选 | www.国产精品 | 91在线看视频| 精品亚洲永久免费精品 | 久久伊人精品一区二区三区 | 亚洲欧美一区二区三区国产精品 | 国产精品中文字幕在线播放 | 综合色久 | 天天色综 | 国产欧美日韩一区二区三区在线 | 欧美一区二区三区国产精品 | 岛国精品 | av免费网址| jlzzjlzz国产精品久久 | 色在线免费 | 在线观看av网站 | 538在线精品 | 欧美视频区 | 自拍偷拍亚洲一区 | 欧美vide| 美女一级毛片 | 欧美一级免费 | 伊人狠狠| 成人av网站在线观看 | 久久久久国产一区二区三区 | 国精日本亚洲欧州国产中文久久 | 欧洲妇女成人淫片aaa视频 | 一区二区蜜桃 | 亚洲一区三区在线观看 | 日韩一级| 91精品国产综合久久久久久首页 | 欧美一级三级 | 欧美成人激情视频 | 精品亚洲永久免费精品 | 成人黄视频在线观看 | 国产成人在线观看免费 | 国产真实精品久久二三区 | 久久伊| 青草青草久热精品视频在线观看 | 久久久久一区二区 | 九色视频网站 |