Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.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_C_Linux - Fatal编程技术网

函数将添加到数组的两个维度,而不是一个C

函数将添加到数组的两个维度,而不是一个C,c,linux,C,Linux,当我尝试将变量保存到二维数组时,它会将其保存为二维[0][1],而不是一维 例如: dodajDoKolejki(1,1)//将数字1添加到维度1 priting数组给出了如下所示的结果,但它不应该改变kolejka[0] kolejka[0] = 0 0 1 0 0 0 0 0 0 kolejka[1] = 1 0 0 0 0 0 0 0 0 int(*kolejka)[2];//全局变量 ... int队列[2][ilSamochodow+1]; kolejka=&queue;

当我尝试将变量保存到二维数组时,它会将其保存为二维[0][1],而不是一维

例如:

  • dodajDoKolejki(1,1)
    //将数字1添加到维度1

  • priting数组给出了如下所示的结果,但它不应该改变kolejka[0]

    kolejka[0] = 0 0 1 0 0 0 0 0 0 
    kolejka[1] = 1 0 0 0 0 0 0 0 0
    

int(*kolejka)[2];//全局变量
...
int队列[2][ilSamochodow+1];
kolejka=&queue;
...
void dodajDoKolejki(内华达州,内华达州)
//正在从1添加数字-。。。随机尺寸(以miasto形式给出)
{
//检查数组中是否已存在编号(int-istnieje)
int-istnieje=0;
int i;

对于(i=0;i而言,kolejka变量的维度和赋值不正确。应为:

int (*kolejka)[ilSamochodow+1]; // Global variable
int queue[2][ilSamochodow+1]; 
kolejka = queue;
根据您尝试使用它的方式。队列是指向ilSamochodow+1整数数组的指针数组。因此,要声明与队列兼容的指针,您需要声明指向ilSamochodow+1整数数组的指针 ilSamochodow+1整数。

int (*kolejka)[2]; // Global variable
int queue[2][ilSamochodow+1]; 
…声明指向2
int
s数组的指针。此

int queue[2][ilSamochodow+1]; 
…声明了一个由2个数组组成的数组,其中包含
ilSamochodow+1
int
s。因此,此

kolejka = &queue;
…将不兼容类型的指针指定给变量
kolejka
(您的编译器应该就此向您发出警告)。因此,取消引用指针会产生未定义的行为

如果您改为这样声明
queue
,您就可以了:

int queue[ilSamochodow+1][2]; 
int (*kolejka)[ilSamochodow+1];
或者如果您这样声明
kolejka

int queue[ilSamochodow+1][2]; 
int (*kolejka)[ilSamochodow+1];
由于
kolejka
是一个全局变量,后者假设
ilSamochodow
解析为编译时常量,这对您来说似乎不太可能

此外,尽管
&queue
queue
在大多数上下文中解析为相同的地址,但它们具有不同的类型(如上所述)。一旦维度顺序问题得到解决,正确的类型分配将是:

kolejka = queue;

第一行的括号令人费解且不必要