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

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

QQ登錄

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

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

關(guān)于C語(yǔ)言指針和數(shù)組,求大神們指教 萬(wàn)分感謝

[復(fù)制鏈接]
ID:766396 發(fā)表于 2021-7-1 22:03 | 顯示全部樓層 |閱讀模式
下面報(bào)了一個(gè)警告,并且得到的結(jié)果不對(duì) ,void Transition(uint8 *dat)這個(gè)函數(shù)我就是這樣寫(xiě)的沒(méi)有錯(cuò)誤  但是為什么到void dis_led(uint8 *ddata)這個(gè)函數(shù)使用起來(lái)就有錯(cuò)誤了呢,求大神們指導(dǎo)小弟一下  萬(wàn)分感謝!

單片機(jī)源程序如下:
void dis_led(uint8 *ddata)
{
        uint8 i;
        for(i=0;i<=7;i++)
        {
                P2=P2&0xe3|wei[ i];
                P0=ddata[ i];
                delay(3);
                P0=0;
        }                        
}


uint8 Ascall_Dispose(uint8 dat)
{
        if(dat>=0x30&&dat<=0x39)
        return duan_num[dat-48];
        if(dat>=0x41&&dat<=0x5a)
        return duan_big_letter[dat-65];
        if(dat>=0x61&&dat<=0x7a)   
        return duan_small_letter[dat-97];
        return 0x00;         
}
void Transition(uint8 *dat)
{
        uint8 i,i1;
        static dis_buff[9];
        static dis_step=0,point_place=0;
        do
        {
                switch(dis_step)
                {
                        case 0:
                                        for(i=0;i<8;i++)
                                        {
                                                if(dat[ i]==0x2e)
                                                {
                                                        point_place=i;
                                                        dis_step=1;        
                                                }
                                                dis_buff[ i]=Ascall_Dispose(dat[ i]);
                                        }
                                        dis_step=2;        
                                        break;
                        case 1:
                                        for(i=point_place;i<8;i++)
                                        {
                                                dis_buff[ i]=Ascall_Dispose(dat[i+1]);               
                                        }
                                        dis_buff[point_place]=dis_buff[point_place]|0x80;
                                        dis_step=2;               
                        case 2:
                                        dis_led(dis_buff);                         //[ i] //這個(gè)地方報(bào)警告   DIS_LED.C(81): warning C182: pointer to different objects   
//                                        for(i1=0;i1<8;i1++)
//                                        {
//                                                Dis_buff1[i1]=dis_buff[i1];        
//                                        }
                                        dis_step=0;                                       
                }        
        }while(dis_step!=0);
}
void main()
{
        strcpy(Dis_buff,"12345678");
        while(1)
        {
                Transition(Dis_buff);
//                dis_led();
        }
}



回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2021-7-1 23:53 | 顯示全部樓層
c51別用指針,8051這個(gè)指令體系設(shè)計(jì)之初就沒(méi)有考慮過(guò)高級(jí)語(yǔ)言,用指針只能讓代碼變得又慢又蠢,用指針起碼要用STM8起步。

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2021-7-2 00:48 | 顯示全部樓層
本帖最后由 lkc8210 于 2021-7-2 09:32 編輯

因?yàn)闆](méi)有宣告變數(shù)的型態(tài)
        static dis_buff[9];
Compiler會(huì)假設(shè)dis_buff的型態(tài)為int (4 Byte)
因?yàn)槟阗N的代碼不完整,拫據(jù)可見(jiàn)的代碼推斷
uint8 是unsigned char (2 Byte)
所以在dis_led 的for loop中指向了其它地址了

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:592807 發(fā)表于 2021-7-2 08:46 | 顯示全部樓層
        static dis_buff[9];
        static dis_step=0,point_place=0;
沒(méi)定義數(shù)組類(lèi)型
回復(fù)

使用道具 舉報(bào)

ID:404893 發(fā)表于 2021-7-2 08:47 | 顯示全部樓層
Hephaestus 發(fā)表于 2021-7-1 23:53
c51別用指針,8051這個(gè)指令體系設(shè)計(jì)之初就沒(méi)有考慮過(guò)高級(jí)語(yǔ)言,用指針只能讓代碼變得又慢又蠢,用指針起碼 ...

第一次聽(tīng)到這種說(shuō)法.....
回復(fù)

使用道具 舉報(bào)

ID:450849 發(fā)表于 2021-7-2 09:00 來(lái)自觸屏版 | 顯示全部樓層
這個(gè)ddata是不是個(gè)關(guān)鍵字
回復(fù)

使用道具 舉報(bào)

ID:744327 發(fā)表于 2021-7-2 09:06 | 顯示全部樓層
ddata是指針變量,直接給數(shù)組首地址,應(yīng)該不對(duì)。
回復(fù)

使用道具 舉報(bào)

ID:766396 發(fā)表于 2021-7-3 21:42 | 顯示全部樓層
lkc8210 發(fā)表于 2021-7-2 00:48
因?yàn)闆](méi)有宣告變數(shù)的型態(tài)
        static dis_buff[9];
Compiler會(huì)假設(shè)dis_buff的型態(tài)為int (4 Byte)

是的  沒(méi)定義變量的類(lèi)型 ,已經(jīng)調(diào)整過(guò)來(lái)了 ,感謝大哥
回復(fù)

使用道具 舉報(bào)

ID:766396 發(fā)表于 2021-7-3 21:42 | 顯示全部樓層
黃youhui 發(fā)表于 2021-7-2 08:46
static dis_buff[9];
        static dis_step=0,point_place=0;
沒(méi)定義數(shù)組類(lèi)型

是的,沒(méi)定義數(shù)組的類(lèi)型 ,已經(jīng)調(diào)整過(guò)來(lái)了 ,感謝大哥
回復(fù)

使用道具 舉報(bào)

ID:766396 發(fā)表于 2021-7-3 21:43 | 顯示全部樓層
是沒(méi)定義數(shù)組的類(lèi)型導(dǎo)致的,感謝各位大哥!
回復(fù)

使用道具 舉報(bào)

ID:948960 發(fā)表于 2021-7-4 11:51 | 顯示全部樓層
建議看下c語(yǔ)言的書(shū)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本精品网站 | 久久精品中文字幕 | www.亚洲区| 国产视频一区二区 | 欧美成人精品一区二区三区 | 欧美二区三区 | 99精品久久| 国产一级黄色网 | 国产午夜精品视频 | 请别相信他免费喜剧电影在线观看 | 久久夜色精品国产 | 视频一区在线观看 | 在线免费黄色小视频 | 一区二区三区四区不卡视频 | 午夜国产 | 日本亚洲精品成人欧美一区 | 国产不卡一区在线观看 | 一区二区三区在线播放 | 国产999精品久久久 午夜天堂精品久久久久 | 欧美中文字幕一区二区三区亚洲 | 天天操伊人| 国产精品爱久久久久久久 | 国产日韩精品久久 | 欧美久久久久 | 99精品视频在线 | 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | www国产成人免费观看视频,深夜成人网 | 免费污视频 | 热久久久 | 色欧美片视频在线观看 | 精品国产乱码一区二区三区a | 国产精品一区二区久久 | av激情在线 | 国产精品久久久久久久久免费桃花 | 免费啪啪| 99pao成人国产永久免费视频 | 粉嫩一区二区三区国产精品 | 人人干在线视频 | 国产免费一区二区 | 国产精品欧美一区二区三区不卡 | 玩丰满女领导对白露脸hd |