C语言的表是不是就是数组?

2019-07-17 13:18发布

C语言的表是不是就是数组?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
zhanghqi
1楼-- · 2019-07-17 13:57

C语言中能用查表方式访问数据么?
zhaoxqi
2楼-- · 2019-07-17 14:00
查表方式双IO口流水灯(C51)
#include <reg51.h>   
   
#define uchar unsigned char   
#define uint unsigned int   
   
void delay_ms(uchar ms); // 延时毫秒@12M,ms最大值255   
   
uint state[16] = {0xfffe, 0xfffd, 0xfffb, 0xfff7, //状态表   
                  0xffef, 0xffdf, 0xffbf, 0xff7f,   
                  0x7fff, 0xbfff, 0xdfff, 0xefff,   
                  0xf7ff, 0xfbff, 0xfdff, 0xfeff};   
   
void main()   
{   
    uchar i;   // 循环控制变量,兼有变址作用   
        
    while(1)   
    {   
        for(i = 0; i < 16; i++)   
        {   
            P2 = state[i] / 256;   // 查表将高字节送入P2口   
            P0 = state[i] % 256;   // 查表将低字节送入P0口   
            delay_ms(100);         // 延时100ms   
        }   
    }   
}   
void delay_ms(uchar ms)   
{   
    uchar i;   
    while(ms--)   
        for(i = 0; i < 124; i++);   
}
huangchui
3楼-- · 2019-07-17 17:03
C中的数组就相当于汇编查表,不过注意声明数组的时候用code关键字声明(真对KEIL C51),不然会将表格copy到SRAM中的。
jiajs
4楼-- · 2019-07-17 22:23
 精彩回答 2  元偷偷看……
zhanghqi
5楼-- · 2019-07-18 01:10
后果就是多浪费32字节RAM
zhenykun
6楼-- · 2019-07-18 06:24

后果是表格copy到SRAM中执行。
运行结果都正确

一周热门 更多>