指向2D阵列解决方案的指针会产生警告

时间:2015-12-15 08:39:18

标签: keil

在使用已发布的解决方案的Keil C51编译器上,我收到以下警告

Mail.c(256):警告C182:指向不同对象的指针

on“pointer =& tab1;”

int (*pointer)[100][280]; // pointer creation
pointer = &tab1; //assignation
(*pointer)[5][12] = 517; // use
int myint = (*pointer)[5][12]; // use

好的,这是我的确切代码,我没做什么似乎可以解决问题...它可能是对象所在的数据空间吗?

int xdata RefPSX [PSX_SIZE][NUMBER_VOLTS]; //xdata space

int (xdata * xdata Ptr)[PSX_SIZE][NUMBER_VOLTS]; //pointer in xdta space pointing //to xdata 2D array

Ptr=RefPSX; // init pointer ****warning C182: pointer different objects****

(*Ptr)[1][2] = 4; // use

为什么警告......代码有效,但为什么?

1 个答案:

答案 0 :(得分:0)

如果tab声明如下:

int tab1[100][280];

然后tab1已经是一个指针,所以赋值应该是:

pointer = tab1;

但实际上你可以更多地指出你的问题。