Re: [問題] 8051陣列問題

看板ASM (組合語言)作者 (路人甲)時間10年前 (2014/09/02 21:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《dog9527 (致命病毒)》之銘言: : 我適用8051 想請問大大問題 : 假設我有tab[]={xxxxxxxxxxxxxxxxxxxxxxxxx}(假設裡面20個數字) : tab1[]={xxxxxxxxxxxxxxxxxxxxxxxx}(35個數字) : tab2[]={xxxxxxxxxxxxxxxxxxxxxxxx}(50個數字) : (依此類推) : 因為我這樣等於有兩個變數 我想要替換tab表格 同時又要輸出裡面的數值 : 但是不知道這樣形態要怎麼寫 : else{i++; k=i%5; : WriteDAC(tab[a][k]);}=======//keil c 顯示編譯錯誤 : 請問大大要怎麼再字串set兩個變數?? 感謝 : 重點是我每行數字都不一樣多 無法用2維陣列解決 : 而且我後面K是用來讀取裡面的每一個數字 : 感謝大大指證 好久沒上ptt了,我的解法不是最好的,不過應該是可以work的 unsigned char code tab[] = {11,22,33,44,55}; unsigned char code tab1[] = {4,5,6}; unsigned char code tab2[] = {7,8,9}; unsigned char code* tab_ptr[] = {tab, tab1, tab2}; unsigned char code tab_length[] = { sizeof(tab), sizeof(tab1), sizeof(tab2) }; for ( i = 0; i < 3; i++ ) // 因為有3個表格,這個也可以用sizeof弄掉XD { for(j=0; j<tab_length[i]; j++ ) // you know { WriteDAC( *(tab_ptr[i]+j) ); // 應該看得懂吧 } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.147.137.158 ※ 文章網址: http://www.ptt.cc/bbs/ASM/M.1409666044.A.418.html
文章代碼(AID): #1K1SlyGO (ASM)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1K1SlyGO (ASM)