C++的数组声明的下标和上标界限
m=(float **) calloc((unsigned) (nrh-nrl+1),sizeof(float*));
for(i=nrl;i<=nrh;i++) {
m[i]=(float *) calloc((unsigned) (nch-ncl+1),sizeof(float));
if (!m[i]) nrerror("allocation failure 2 in matrix()");
m[i] -= ncl;
}
下列是变量值:
nrh:10
nr1:1
疑问来了,如果我认为c++的数组下标是从0开始,m[i]的赋值最终为什么不会超出限制。