gpt4 book ai didi

C 错误 "subscripted value is neither array nor pointer"

转载 作者:太空宇宙 更新时间:2023-11-04 06:28:46 25 4
gpt4 key购买 nike

我在处理下面的代码段时遇到了一些问题。

#include "stm32f0xx_tim.h"
#include "stm32f0xx_adc.h"
#include "stm32f0xx_rcc.h"
#include "stm32f0xx_conf.h"
#include "adc.h"

void calcSensor(float voltage1, float voltage2, int X, int Y)
{
float Iload = 0;
float Vsensor = 0;
float Rsensor = 0;
float Vdrop = voltage1 - voltage2;
uint32_t resistance = 0;
Iload = Vdrop/Rload;
Vsensor = Vin - Iload*Rmux - Iload*Rdemux-Vdrop;
resistance = Vsensor/Iload;
Rsensor[1][5] = resistance;
Y++;
if (Y == 22)
{
Y = 0;
X++;
if (X == 44)
{
X = 0;
}

}
}
void initRArray(void)
{
int x;
int y;
for(x = 0; x < 44; x++)
{
for(y = 0; y < 22; y++)
{
Rsensor[x][y] = 0;
}
}
}

错误来自行:

Rsensor[1][5] = resistance;

报错如题:

下标值既不是数组也不是指针

我最初使用 X 和 Y 作为索引,但已经切换到 0 和 5,认为这可能是个问题。那并没有解决它。此外,我有一个 intRarray 函数,它将所有值设置为 0。这个数组编译得很好,它使用的是有问题的同一个数组。

下面是数组在头文件中的声明。

unsigned long int Rsensor[44][22];

最佳答案

您有一个局部变量 float Rsensor = 0;,它遮蔽了全局数组。重命名两者之一。

关于C 错误 "subscripted value is neither array nor pointer",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22887623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com