Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pointers 重新分配指针_Pointers_Arduino - Fatal编程技术网

Pointers 重新分配指针

Pointers 重新分配指针,pointers,arduino,Pointers,Arduino,我有一点Arduino的代码,现在让我发疯,我希望你们这些有帮助的人能帮我。 我要做的是初始化指向两个无符号整数数组之一的指针。 每次通过时都会读取一个开关,并相应地分配指针,只有编译器对这些分配具有hissy拟合 unsigned int spl_add_tbl[4096];//阵列表无过零点。 无符号整数zxd_add_tbl[4096];//零交叉点的数组表。 无符号整数*tbl_ptr;//初始化表指针 //ZXD开关D64。H=关闭,L=打开。 如果(数字读取(64)=1){ //过零

我有一点Arduino的代码,现在让我发疯,我希望你们这些有帮助的人能帮我。 我要做的是初始化指向两个无符号整数数组之一的指针。 每次通过时都会读取一个开关,并相应地分配指针,只有编译器对这些分配具有hissy拟合

unsigned int spl_add_tbl[4096];//阵列表无过零点。
无符号整数zxd_add_tbl[4096];//零交叉点的数组表。
无符号整数*tbl_ptr;//初始化表指针
//ZXD开关D64。H=关闭,L=打开。
如果(数字读取(64)=1){
//过零,将表指针指定给样本表
*tbl_ptr=&spl_add_tbl[0];
}否则{
//过零打开,将表指针指定给过零表,并设置A/D读取映射。
*tbl_ptr=&zxd_add_tbl[0];
}

编译器给出错误:从“unsigned int*”到“unsigned int”[-fppermissive]的转换无效。

tbl_ptr
是一个指针-您不应该为了给它分配数组而取消引用它:

if(digitalRead(64) == 1)
{
    // Zero Crossing off, assign Table Pointer to sample table
    tbl_ptr = &spl_add_tbl[0]; 
    
}
else 
{
    // Zero Crossing on, assign Table pointer to Zero Crossing Table and set A/D read mapping.
    tbl_ptr = &zxd_add_tbl[0]; 
}

tbl_ptr
是一个指针-您不应该为了给它分配数组而取消对它的引用:

if(digitalRead(64) == 1)
{
    // Zero Crossing off, assign Table Pointer to sample table
    tbl_ptr = &spl_add_tbl[0]; 
    
}
else 
{
    // Zero Crossing on, assign Table pointer to Zero Crossing Table and set A/D read mapping.
    tbl_ptr = &zxd_add_tbl[0]; 
}

tbl_ptr
是指向
无符号int
的指针
*tbl_ptr
是一个
无符号整数
。不要将指向
无符号整数的指针
分配给
无符号整数
。埃里克干杯,我不太清楚。
tbl_ptr
是指向
无符号整数的指针
*tbl_ptr
是一个
无符号整数
。不要将指向
无符号int
的指针指定给
无符号int
。谢谢Eric,我不确定我是否完全理解。谢谢Mureinik,这样做了,你保持了我的理智。我可以问一下,取消引用不是吗?@jlpniewski Damnit,在那里掉了一个典型的词“not”。对不起,我的错。(虽然代码本身不应该更改)tbl_ptr=&zxd_add_tbl[0];可以是tbl_ptr=zxd_add_tbl;当您放下括号时,就有一个指向数组第一个元素的指针。没有必要用括号来取消引用,然后再次记录地址。干杯,穆雷尼克,这已经成功了,你保持了我的理智。我可以问一下,取消引用不是吗?@jlpniewski Damnit,在那里掉了一个典型的词“not”。对不起,我的错。(虽然代码本身不应该更改)tbl_ptr=&zxd_add_tbl[0];可以是tbl_ptr=zxd_add_tbl;当您放下括号时,就有一个指向数组第一个元素的指针。无需使用括号取消引用,然后再次获取的地址。