const变量赋值

2025-04-17 10:30:06
推荐回答(1个)
回答(1):

看来有个概念你得搞清楚:由编译器确定值叫初始化,由C/C++代码确定值就叫赋值,不叫初始化而叫赋初值了。const变量只有初始化的份儿(而且必须初始化),根本不能被赋值(哪怕是初值);如果能被赋值,还叫什么const(只读)变量?再大的数组,初始化为0时很好办,只要把首元素初始化为0,其余的都被编译器自动置0了;但要初始化为其他值,还是得有点技巧的。比如你要将一个1000个元素的const int数组初始化为29,谁都不想写1000个29,怎么办呢?可用以下办法解决:
#define A(x) x,x,x,x,x,x,x,x,x,x
void main(void){
const int ax[1000]={A(A(A(29)))};
}
这样,ax的1000个元素就都被初始化为29了。