C里const定义的是只读变量,要占用内存,常量要用define,可是比如字模该如何定义呢?

来源:百度知道 编辑:UC知道 时间:2024/05/27 11:59:58
const放在函数体外似乎又不占用内存了,那比如字模是不是就是要这样定义呢?
我说的内存是指数据区,我做嵌入式的,程序放在rom里的.
const在函数体外定义的话访问的是rom里的,否则运行函数时会把rom里的const数据搬进ram再访问

const无论放在哪都要占用内存。

字模方面,一般定义为const,当然你愿意define也无可厚非。比如:
const char wo16S[]={
/* 以下是 '我' 的 16点阵宋体 字模,32 byte */
0x06,0x40,0x38,0x50,0x08,0x48,0x08,0x48,
0x08,0x40,0xFF,0xFE,0x08,0x40,0x08,0x48,
0x0E,0x28,0x38,0x30,0xC8,0x20,0x08,0x50,
0x09,0x92,0x08,0x0A,0x28,0x06,0x10,0x02,
};

const 有类型声明,放在哪里都要用内存。声明为const的量,程序运行过程中,它的值固定不变,不可变,不许变。

#define 是宏,预遍命令,作用是符号替代。

直接写入的数字,双引号括起的字符串,单引号括起的字母常数,也是常量。

单引号括起的字母常数,是整型常数,等于它的ASCII值。