如何使用fork()迭代/搜索3D /多维int数组

时间:2016-05-22 02:01:55

标签: c arrays multidimensional-array 3d fork

大家好我想尝试使用fork()和多维数组进行练习。

所以我试图告诉我的程序通过一个3D数组,我在特定位置分配了一个特定的数字,并在整个数组中搜索该特定数字,并将它返回给它找到它的位置。

现在我想使用fork()只是为了练习。编译器给了我一堆与数组本身和fork()相关的错误 这就是我到目前为止所得到的:

int i,j,k;
int this[100][100][100];
int charlie;    //charlie is what i called the result of the a iteration
this[30][2][4]=23;
this[20][1][3]=23;
this[80][19][90]=23;

void ChildProcess()
{
printf("child\n");
    for (i=50;i<75;i++)
    {
            for(j=50;j<75;j++)
            {
                    for(k=50;k<75;k++)
                    {
                    charlie=this[i][j][k];
                    if(charlie==23)
                    {
                    printf("i=%d,j=%d,k=%d",i,j,k);
                    }
                    }
            }
    }
 } 

  void ParentProcess() 
  {
   printf("parent\n");

    for (i=0;i<50;i++)
    {
            for(j=0;j<50;j++)
            {
                    for(k=0;k<50;k++)
                    {
                    charlie=this[i][j][k];
                    if(charlie==23)
                    {
                    printf("i=%d,j=%d,k=%d",i,j,k);
                    }
                    }
            }
       }  
    }

    void ChildProcess()
    {
    printf("child2\n");
    for (i=75;i<100;i++)
    {
            for(j=75;j<100;j++)
            {
                    for(k=75;k<100;k++)
                    {
                    charlie=this[i][j][k];
                    if(charlie==23)
                    {
                    printf("i=%d,j=%d,k=%d",i,j,k);
                    }
                    }
            }
        } 
    }

 int main()
 {

    int pid=fork();
    printf ("this is the pid %d\n",pid);

    if(pid!=0)
    {
    ParentProcess();
    }
    else
    {
    ChildProcess();
    }
    int pid2=fork();
    if (pid==0)
    {
    ChildProcess2();
    }
  }

它给我的一个错误是: s.c:7:1:警告:数据定义没有类型或存储类[默认启用] [30] [2] [4] = 23;

s.c:5:5:注意:之前的'this'声明就在这里[100] [100] [100];

这两个错误不断弹出。 说实话,我不确定它是什么意思,因为我没有收回它或smt

0 个答案:

没有答案