国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 9946|回復(fù): 7
打印 上一主題 下一主題

[提問(wèn)] 關(guān)于取得數(shù)組長(zhǎng)度的問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-4-30 19:30:16 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
寫了一個(gè)LCD12864顯示的函數(shù),是這樣的:
void LCD12864_write(unsigned char address,unsigned char table_name[])
{
       unsigned char i;
       LCD12864_write_com(address);
       for(i=0;i<(sizeof(table_name)/sizeof(table_name[0]));i++)
       {
               LCD12864_write_dat(*table_name);
               table_name++;
       }
}
參數(shù)address是LCD12864的顯示地址,table_name[]是要顯示的數(shù)據(jù)的數(shù)組。但是sizeof(table_name)/sizeof(table_name[0]  這句不能得到實(shí)參數(shù)組的長(zhǎng)度,這是為什么呢?
請(qǐng)大家指點(diǎn)一下。
沙發(fā)
發(fā)表于 2013-5-1 09:48:36 | 只看該作者
table_name[]

原型定義里邊沒(méi)確切給出數(shù)組長(zhǎng)度,此時(shí)sizeof這個(gè)數(shù)組變量,意義何在?

sizeof是C的保留字,雖然看起來(lái)像是函數(shù)調(diào)用,實(shí)際并非函數(shù)調(diào)用,所以你函數(shù)中計(jì)算數(shù)組長(zhǎng)度是在編譯時(shí)就定下來(lái)的

而你行參中并未確切給出數(shù)組長(zhǎng)度,所以這個(gè)在編譯的時(shí)候編譯器只能根據(jù)形參數(shù)組的起始地址到下一個(gè)結(jié)束符來(lái)作為其長(zhǎng)度,而不是在函數(shù)調(diào)用時(shí)根據(jù)你實(shí)參的起始地址到結(jié)束符來(lái)作為其長(zhǎng)度
板凳
發(fā)表于 2013-5-1 10:08:00 | 只看該作者
驗(yàn)證了一下,32位linux系統(tǒng)里邊,gcc這種情況下是把這種不確定類型(長(zhǎng)度不確定的數(shù)組)當(dāng)作指針變量來(lái)處理了,而非上面所說(shuō)從數(shù)組起始的地方到下一個(gè)結(jié)束符
地板
發(fā)表于 2013-5-1 10:09:23 | 只看該作者
從起始到結(jié)束符的計(jì)算實(shí)際還是函數(shù)處理過(guò)程,這個(gè)是我有點(diǎn)想當(dāng)然了,呵呵,sizeof在編譯時(shí)是根據(jù)確切的數(shù)據(jù)類型來(lái)計(jì)算對(duì)象的長(zhǎng)度的
地下室
 樓主| 發(fā)表于 2013-5-2 21:01:10 | 只看該作者
lelee007 發(fā)表于 2013-5-1 10:09
從起始到結(jié)束符的計(jì)算實(shí)際還是函數(shù)處理過(guò)程,這個(gè)是我有點(diǎn)想當(dāng)然了,呵呵,sizeof在編譯時(shí)是根據(jù)確切的數(shù)據(jù) ...

但是就算是在函數(shù)定義時(shí)將形參unsigned char table_name[]的中括號(hào)中加入9(實(shí)參長(zhǎng)度是9),也不能得到實(shí)參數(shù)組的長(zhǎng)度,貌似也是得到的是指針變量的長(zhǎng)度。這該怎么辦?
6
發(fā)表于 2013-5-8 13:09:53 | 只看該作者
許多工程師在調(diào)試串口通信時(shí)都有過(guò)困惑,通信線路上跑的數(shù)據(jù)究竟對(duì)不對(duì)?如果通信的兩端中的一端是電腦,還可以通過(guò)一些諸如“串口精靈”之類的軟件來(lái)輔助,假如通信的兩端都不是電腦,那就有點(diǎn)傷腦筋了。是不是?
現(xiàn)在,一款價(jià)廉物美的革命性的產(chǎn)品隆重亮相了。

串行數(shù)據(jù)分析儀套件(以下簡(jiǎn)稱本產(chǎn)品)是本公司(無(wú)錫市恒運(yùn)隆科技有限公司)開(kāi)發(fā)的新一代串行數(shù)據(jù)采集和分析工具,由“串口數(shù)據(jù)采集器”和“串口數(shù)據(jù)分析助手”軟件組成。該套件用來(lái)幫助工程師解決RS232和RS485的調(diào)試問(wèn)題。和傳統(tǒng)的“串口精靈”的純軟件工具不同,本產(chǎn)品有硬件和軟件構(gòu)成,并根據(jù)應(yīng)用場(chǎng)合不同,使用不同的“串口數(shù)據(jù)采集器”。

該產(chǎn)品的顯著特點(diǎn)如下:
•        使用硬件介入方式采集數(shù)據(jù),保證數(shù)據(jù)的真實(shí)性  
•        使用硬件隔離技術(shù)保證數(shù)據(jù)采集絲毫不影響原來(lái)通信鏈路的正常通信和數(shù)據(jù)完整性
•        精確到微秒級(jí)的數(shù)據(jù)包硬件時(shí)標(biāo),保證時(shí)序關(guān)系的正確性
•        “串行數(shù)據(jù)分析助手”提供清新簡(jiǎn)潔的用戶界面
•        具有簡(jiǎn)單易用的軟件實(shí)時(shí)采集過(guò)濾功能
•        具有功能強(qiáng)大的離線數(shù)據(jù)檢索和篩選功能
•        支持從300bps到115200bps波特率以及8位數(shù)據(jù)、奇偶校驗(yàn)或無(wú)校驗(yàn)
該產(chǎn)品適用的應(yīng)用場(chǎng)合如下:
•        需要對(duì)RS232進(jìn)行調(diào)試的場(chǎng)合  
•        需要對(duì)一般的RS485總線進(jìn)行調(diào)試的場(chǎng)合
•        需要對(duì)PLC的RS485進(jìn)行調(diào)試的場(chǎng)合

7
發(fā)表于 2013-6-27 21:45:09 | 只看該作者
今天想起這個(gè)問(wèn)題來(lái),呵呵,之前都忘了這個(gè)問(wèn)題的關(guān)鍵點(diǎn),今天無(wú)意中翻書看到這點(diǎn)才想起來(lái)

C語(yǔ)言里邊數(shù)組做形參時(shí),會(huì)退化成指針,這個(gè)是C規(guī)范規(guī)定,所有編譯器都會(huì)這樣來(lái)做

LZ的問(wèn)題的原因就顯而易見(jiàn)了
8
發(fā)表于 2013-7-26 08:51:36 | 只看該作者
樓上正解。
你這個(gè)函數(shù)有很多問(wèn)題:
1、參數(shù)不要:unsigned char table_name[]  傳,[] 和 * 是有區(qū)別的,不要養(yǎng)成這種習(xí)慣,一些細(xì)節(jié)上會(huì)出問(wèn)題的。
2、sizof()只能識(shí)別你定義的那種數(shù)組,這樣操作不行,如樓上所說(shuō)。
3、LCD12864_write_dat(*table_name);
                table_name++;
你都指針++了,還sizeof(指針),每次都sizeof不一樣的地址,你說(shuō)會(huì)是多大的問(wèn)題?就算可以計(jì)算出大小,恐怕也只有第一次能計(jì)算出來(lái)。
同時(shí),你既然用了for循環(huán),為什么不
LCD12864_write_dat(table_name[i]);
來(lái)訪問(wèn)呢?這樣的訪問(wèn)才是最安全的,指針上的強(qiáng)制轉(zhuǎn)換、加減操作一定要小心,指針訪問(wèn)也要小心,指針操作不小心的一個(gè)失誤就會(huì)崩潰程序。養(yǎng)成個(gè)好習(xí)慣,不要沒(méi)事就指針++。

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 毛片免费观看的视频在线 | 日韩免费在线视频观看 | 欧美激情xxxxssss | 日本韩国一级 | 国产黄a三级三级三级 | 久久毛片视频 | 欧美精品手机在线 | 免费高清不卡毛片在线看 | 精品国产无限资源免费观看 | 97在线观看免费观看高清 | 九九九精品视频 | 日韩福利社 | 青青操免费在线视频 | 亚洲天堂视频在线观看免费 | eeuss免费快捷 | 91精品啪在线观看国产 | 欧美成人免费高清网站 | 亚洲淫视频 | 91精品久久 | 久草视频精品在线 | 91播放| 欧美一区二区日韩一区二区 | 欧美日韩 在线播放 | 黄色网页在线观看 | 性精品| 久久99精品免费视频 | 欧美日韩三区 | 国产一区二区不卡免费观在线 | 九九热在线免费观看 | 国产线视频精品免费观看视频 | 成人午夜视频在线 | 国产欧美三级 | 国产精品免费观看网站 | 青青草国产一区二区三区 | 日本一区二区三区不卡在线视频 | 久久最新网址 | 四虎影视站长工具 | 亚洲综合色婷婷久久 | 诱惑网综合| 欧美日本一道道一区二区三 | 最近中文字幕无吗 |