C++数组初始化

来源:互联网 发布:java跳跃表 编辑:程序博客网 时间:2024/06/02 02:08

C++数组初始化

C++由于在定义的时候不能直接对变量进行初始化,需要在构造函数里面对变量进行初始化。最近在搞STM8单片机上用C++封装各个模块,奇怪的发现竟然不能实现在构造函数里面直接对数组进行初始化。
eg:WriteAdd[7] = {0x80,0x82,0x84,0x86,0x88,0x8a,0x8c};这个在构造函数里面是非法的,思来想去。后来用了各种方法都不行,用指针形式也不行,后来只能另外写个数组初始化话的函数,对数组里面的每个元素进行一一的访问操作。具体代码如下面所示:
void DX_1302:: initArray(void)
{
unsigned char WriteAdd[7] = {0x80,0x82,0x84,0x86,0x88,0x8a,0x8c};//存放ds1302写地址
unsigned char ReadAdd[7] = {0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};//存放ds1302读地址
unsigned char TimeNow[7] = {0x30,0x40,0x06,0x1f,0x07,0x07,0x0b};//存放初始时间数据,这里以PCB形式存放


for(int i=0; i<7; i++)
{
this->WriteAdd[i] = WriteAdd[i];
this->ReadAdd[i] = ReadAdd[i];
this->TimeNow[i] = TimeNow[i];
}
}
后面会继续写点关于C++在单片机上面应用的总结。C++是一门好爽的语言,同时又非常的高深莫测,小编编程经验有限,还不能很好的把握其精髓。
1 0
原创粉丝点击