Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.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
如何在C中访问全局2d数组的元素?_C_Multidimensional Array_Global Variables - Fatal编程技术网

如何在C中访问全局2d数组的元素?

如何在C中访问全局2d数组的元素?,c,multidimensional-array,global-variables,C,Multidimensional Array,Global Variables,我是C的新手。我声明了一个2D全局数组: int allhospitalsdata[4][3] = {{1,100,0},{2,200,0},{3,300,0},{4,400,0}}; 然后我尝试访问某个索引处的值,如下所示: if (allhospitalsdata[hospitalid][3]<allhospitalsdata[hospitalid][2]) { //do something } else { //do another thin

我是C的新手。我声明了一个2D全局数组:

int allhospitalsdata[4][3] = {{1,100,0},{2,200,0},{3,300,0},{4,400,0}};
然后我尝试访问某个索引处的值,如下所示:

if (allhospitalsdata[hospitalid][3]<allhospitalsdata[hospitalid][2])
  {
      //do something
  }
  else
  {
      //do another thing
  }

if(allhospitalsdata[hospitalid][3]因为您正在访问
allhospitalsdata[hospitalid]
的第4个元素,该元素只包含三个元素。事实上,C并不阻止您访问无效索引处的数组。您必须自己处理。在
allhospitalsdata[hospitalid][3]中会发生这种情况
(它不是数组的一部分!)存储了一些未定义的内容,通过观察
if
条件,这些内容可能大于或等于零。这就是它进入
else
块的原因

请注意,C中的数组始终为零索引,因此
allhospitalsdata[0]
引用了第一家医院的数据

我不知道您想要实现什么,但是将2D数组想象成一个包含行和列的表。对于
a[x][y]
x
用于访问行,而
y
用于访问该行中的列


如果您还有其他问题,请澄清。

包含3个元素的数组的索引为0、1和2。但是,3是不允许的。