楼主:
ruemann (路人甲)
2014-09-02 21:54:02※ 引述《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) ); // 应该看得懂吧
}
}