C返回局部變量的值也沒問題啊
成都創(chuàng)新互聯(lián)主營烏爾禾網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,烏爾禾h5小程序制作搭建,烏爾禾網(wǎng)站營銷推廣歡迎烏爾禾等地區(qū)企業(yè)咨詢
只是如果這個局部變量是指向棧上的內(nèi)存的指針,由于函數(shù)結(jié)束后活動棧被清空,會導(dǎo)致指針失效。
VB.NET不支持指針語法,它不可能返回指向棧上的指針,所以用不著擔(dān)心這個問題。
你的理解
第一點(diǎn)理解是正確的,不過和這個問題關(guān)系不大。因?yàn)橐妙愋捅緛砭筒皇欠峙湓跅I系?,它?dāng)然就不受函數(shù)的影響。
第二點(diǎn),那個只是個語法問題。VB6沒有Return語句,所以它必然有另外一種語法來表明函數(shù)的返回值。這個和函數(shù)能否返回正確的對象沒有關(guān)系,就是一種表明函數(shù)返回值的語法。
編譯器確實(shí)定義了一個和函數(shù)同名的變量,那個變量就是一個普通的局部變量,作用域就在函數(shù)的局部域里。這個變量沒什么特別的,就是編譯器會在函數(shù)結(jié)束時把這個變量的值作為函數(shù)的返回值返回而已。
不知道你是不是用51單片機(jī)往串口發(fā)數(shù)據(jù),是的話那是因?yàn)?1的sbuf最多存放8個字節(jié),所以你發(fā)12個字節(jié)會分成兩次發(fā)完。還有在接收的時候最好定義好通信協(xié)議,比如加一個偵頭,一個偵尾,通過這兩個字節(jié)的內(nèi)容來接收數(shù)據(jù)。
老兄,提問還是給點(diǎn)懸賞分嘛,不要吝嗇哪點(diǎn)分,知識是無價的,你給得越多,回答你的人才會越多。
我有VB調(diào)試的串口源碼 但是不能給你哦、!你必須拿你的技術(shù)資料來換取