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

QQ登錄

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

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

關(guān)于c語(yǔ)言的問(wèn)題,有沒(méi)有code有什么區(qū)別

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:650754 發(fā)表于 2019-11-27 14:35 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
uchar code str[]=" hello";
uchar  str[]=" hello";
有沒(méi)有code有什么區(qū)別
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

來(lái)自 2#
ID:631219 發(fā)表于 2019-11-27 21:49 | 只看該作者
如果有code則分配ROM空間存貯 ,但程序運(yùn)行中不能改寫(xiě)這個(gè)數(shù)據(jù)了,適用于不變的數(shù)據(jù),例如提示信息、字符代碼等等,如果沒(méi)有code則分配RAM空間存貯 ,程序運(yùn)行時(shí)可以改變這個(gè)數(shù)據(jù),例如計(jì)數(shù)次數(shù)等等,程序運(yùn)行時(shí)不改變的數(shù)據(jù)盡量用code,因?yàn)镽AM一般比較少,是寶貴的。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:638524 發(fā)表于 2019-11-27 15:23 | 只看該作者
我不太清楚,以前看書(shū)說(shuō)是放在有個(gè)專(zhuān)門(mén)的區(qū)域里面不占用程序空間
回復(fù)

使用道具 舉報(bào)

地板
ID:303892 發(fā)表于 2019-11-27 15:36 | 只看該作者
code表示保存在程序存儲(chǔ)器中ROM中,沒(méi)有code表示保存在數(shù)據(jù)存儲(chǔ)器中RAM中
回復(fù)

使用道具 舉報(bào)

5#
ID:275826 發(fā)表于 2019-11-27 16:30 | 只看該作者
ode的作用是告訴單片機(jī),我定義的數(shù)據(jù)要存儲(chǔ)在ROM(程序存儲(chǔ)區(qū))里面,寫(xiě)入后就不能再更改,其實(shí)是相當(dāng)與匯編里面的尋址MOVC(好像是),因?yàn)镃語(yǔ)言中沒(méi)辦法詳細(xì)描述存入的是ROM還是RAM(存儲(chǔ)器),所以在軟件中添加了這一個(gè)語(yǔ)句起到代替匯編指令的作用,對(duì)應(yīng)的還有data是存入RAM(存儲(chǔ)器)的意思。
程序可以簡(jiǎn)單的分為code(程序)區(qū),和data (數(shù)據(jù))區(qū),code區(qū)在運(yùn)行的時(shí)候是不可以更改的,data區(qū)放全局變量和臨時(shí)變量,是要不斷的改變的,cpu從code區(qū)讀取指令,對(duì)data區(qū)的數(shù)據(jù)進(jìn)行運(yùn)算處理,因此code區(qū)存儲(chǔ)在什么介質(zhì)上并不重要,象以前的計(jì)算機(jī)程序存儲(chǔ)在卡片上,code區(qū)也可以放在rom里面,也可以放在ram里面,也可以放在flash里面(但是運(yùn)行速度要慢很多,主要讀flash比讀ram要費(fèi)時(shí)間),因此一般的做法是要將程序放到flash里面,然后load到 ram里面運(yùn)行的;DATA區(qū)就沒(méi)有什么選擇了,肯定要放在RAM里面,放到rom里面改動(dòng)不了。
回復(fù)

使用道具 舉報(bào)

6#
ID:411550 發(fā)表于 2019-11-27 16:42 | 只看該作者
占用內(nèi)存的問(wèn)題,如果沒(méi)有code程序吧數(shù)據(jù)存儲(chǔ)在RAM,有則存儲(chǔ)在ROM中。
回復(fù)

使用道具 舉報(bào)

7#
ID:245004 發(fā)表于 2019-11-27 17:06 | 只看該作者
對(duì)于普通51單片機(jī),內(nèi)部分為“程序存儲(chǔ)區(qū)”和“數(shù)據(jù)存儲(chǔ)區(qū)”。
程序存儲(chǔ)區(qū)ROM存儲(chǔ)的是單片機(jī)程序代碼、常量、數(shù)據(jù)表格等,不可修改;
數(shù)據(jù)存儲(chǔ)區(qū)RAM存儲(chǔ)的是單片機(jī)數(shù)據(jù)代碼,變量等,可以修改。
定義有code的變量(數(shù)組)會(huì)定義到程序存儲(chǔ)區(qū);
定義無(wú)code的變量(數(shù)組)會(huì)定義到數(shù)據(jù)儲(chǔ)區(qū)。
因?yàn)閿?shù)據(jù)存儲(chǔ)區(qū)空間有限,所以對(duì)于不需要改變的常量/數(shù)組/表格就定義到程序存儲(chǔ)區(qū)。
一個(gè)常量不是很大的話(huà),即可以定義到程序存儲(chǔ)區(qū),也可以定義到數(shù)據(jù)存儲(chǔ)區(qū);而一個(gè)變量只能定義到數(shù)據(jù)存儲(chǔ)區(qū)。
回復(fù)

使用道具 舉報(bào)

8#
ID:25310 發(fā)表于 2019-11-27 17:51 | 只看該作者
code表示保存在程序存儲(chǔ)器中ROM中,沒(méi)有code表示保存在數(shù)據(jù)存儲(chǔ)器中RAM中
樓上正解!
回復(fù)

使用道具 舉報(bào)

9#
ID:190832 發(fā)表于 2019-11-27 19:07 | 只看該作者
這個(gè)就相當(dāng)于const,加上code修飾的保存在FLASH中,不占用RAM空間
回復(fù)

使用道具 舉報(bào)

10#
ID:235200 發(fā)表于 2019-11-27 19:41 | 只看該作者
使用code時(shí),str數(shù)組所定義的字符與程序存放在一起,程序不能更改數(shù)組的值,通常不變的一些值用此方法定義,不使用code,默認(rèn)字符數(shù)據(jù)存放在內(nèi)存中,數(shù)組str的值可隨時(shí)用程序修改,在內(nèi)存充足的情況下一般沒(méi)去關(guān)注它存在哪 里
回復(fù)

使用道具 舉報(bào)

11#
ID:650754 發(fā)表于 2019-11-27 19:57 | 只看該作者
xuxiaochunabcd 發(fā)表于 2019-11-27 15:36
code表示保存在程序存儲(chǔ)器中ROM中,沒(méi)有code表示保存在數(shù)據(jù)存儲(chǔ)器中RAM中

可以在說(shuō)的具體一點(diǎn)嗎  小白不太明白
回復(fù)

使用道具 舉報(bào)

12#
ID:123289 發(fā)表于 2019-11-27 20:30 | 只看該作者
學(xué)C,不學(xué)單片機(jī)原理,所以你無(wú)法理解。
板凳正解。
回復(fù)

使用道具 舉報(bào)

13#
ID:524818 發(fā)表于 2019-11-28 10:40 | 只看該作者
ROM和RAM的區(qū)別,用了以后可以節(jié)約內(nèi)存空間
回復(fù)

使用道具 舉報(bào)

14#
ID:597084 發(fā)表于 2019-11-28 11:47 | 只看該作者
沒(méi)有code,程序默認(rèn)將該數(shù)組保存在內(nèi)存里,加上code,程序會(huì)將該數(shù)組保存在外部flash,節(jié)省了內(nèi)存空間。
回復(fù)

使用道具 舉報(bào)

15#
ID:420836 發(fā)表于 2019-11-29 09:02 | 只看該作者
單片機(jī)內(nèi)部存儲(chǔ)器分為程序存儲(chǔ)區(qū) (ROM) 和數(shù)據(jù)存儲(chǔ)區(qū) (RAM)。沒(méi)有code數(shù)據(jù)存儲(chǔ)在RAM,有則存儲(chǔ)在ROM中
回復(fù)

使用道具 舉報(bào)

16#
ID:668004 發(fā)表于 2020-7-10 10:05 | 只看該作者
tyrl800 發(fā)表于 2019-11-27 16:30
ode的作用是告訴單片機(jī),我定義的數(shù)據(jù)要存儲(chǔ)在ROM(程序存儲(chǔ)區(qū))里面,寫(xiě)入后就不能再更改,其實(shí)是相當(dāng)與匯 ...

講得非常好   我看了兩遍
回復(fù)

使用道具 舉報(bào)

17#
ID:783844 發(fā)表于 2020-7-10 10:37 | 只看該作者
code會(huì)給你分配ROM空間存貯
回復(fù)

使用道具 舉報(bào)

18#
ID:328305 發(fā)表于 2020-7-25 17:50 | 只看該作者
學(xué)習(xí)了,謝謝!也就是說(shuō)為是省REM 每次都加上,對(duì)吧!
回復(fù)

使用道具 舉報(bào)

19#
ID:808700 發(fā)表于 2020-7-28 10:42 | 只看該作者
有code就是寫(xiě)死了的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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