找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1026|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

c51單片機(jī)函數(shù)入?yún)?形參)問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:349276 發(fā)表于 2024-8-15 14:06 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
函數(shù)形參是通過(guò)寄存器傳遞的,這里有個(gè)問(wèn)題,如 void deal(num){...},這個(gè)形參num我并沒(méi)有指明它是bit int char等類型,編譯時(shí)keil編譯器它并不會(huì)報(bào)錯(cuò),并且調(diào)用時(shí),實(shí)參我用bit型 char型 int型,都可以。有誰(shuí)能深入解釋下這究竟咋回事不?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:624769 發(fā)表于 2024-8-15 17:38 | 只看該作者
一個(gè)合格的程序,需要有很多“默認(rèn)”的定義。
以keil4 PK51 為例,你沒(méi)有定義的前提下,默認(rèn)是通過(guò) R6,R7 寄存器傳參,你可以理解為short 類型,雖然不太確切。 即便你給一個(gè) char 或者 bit 它也是強(qiáng)制轉(zhuǎn)成 short 格式(實(shí)際上也就是放入 R6,R7),然后傳到 函數(shù)中(實(shí)際上也就是讓函數(shù)使用 R6,R7 的值參與函數(shù)內(nèi)的計(jì)算)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:1034262 發(fā)表于 2024-8-15 18:29 | 只看該作者
KEIL有默認(rèn)的,不指定就默認(rèn)為int型。
回復(fù)

使用道具 舉報(bào)

地板
ID:349276 發(fā)表于 2024-8-15 23:53 | 只看該作者
188610329 發(fā)表于 2024-8-15 17:38
一個(gè)合格的程序,需要有很多“默認(rèn)”的定義。
以keil4 PK51 為例,你沒(méi)有定義的前提下,默認(rèn)是通過(guò) R6,R7  ...

謝謝,這么說(shuō)就清楚了。
回復(fù)

使用道具 舉報(bào)

5#
ID:349276 發(fā)表于 2024-8-15 23:54 | 只看該作者
coody_sz 發(fā)表于 2024-8-15 18:29
KEIL有默認(rèn)的,不指定就默認(rèn)為int型。

感謝!這些默認(rèn)的知識(shí)哪里能看到呢,感覺(jué)相關(guān)的書(shū)籍都沒(méi)有介紹。
回復(fù)

使用道具 舉報(bào)

6#
ID:1128898 發(fā)表于 2024-8-16 03:25 | 只看該作者
形參是默認(rèn)
回復(fù)

使用道具 舉報(bào)

7#
ID:879348 發(fā)表于 2024-8-16 08:04 | 只看該作者
不建議寫這種程序,在不同編譯器會(huì)有不同表現(xiàn)
回復(fù)

使用道具 舉報(bào)

8#
ID:910662 發(fā)表于 2024-8-16 11:10 | 只看該作者
還是確定一點(diǎn)的好,否則,不單自己不放心,讀起來(lái)也不舒服。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表