I have this code to try and locate a small array within a big array but it seems to crash on the first if statement. Both arrays are dynamically allocated from files and point to a strcuture.
Code:
for (i=0;i<head[1].width-head[2].width;i++) //Looks for possible start postions
    {
        int wally = 0;
        //printf("%d ", i);
        for(j=0;j<head[1].height-head[2].height;j++)
        {
            wally = 1; //Tests if query array is found in main input array
            for(qi=0; qi<head[2].height; qi++) //Looks through smaller array for match
            {
                for(qj=0;qj<head[2].width;qj++)
                {
                    if ((RGBArray[i+qi][j+qj].red != QueryArray[qi][qj].red) || (RGBArray[i+qi][j+qj].green != QueryArray[qi][qj].green)
                    || (RGBArray[i+qi][j+qj].blue != QueryArray[qi][qj].blue))
                    {
                        wally = 0;
                        break;
                    }
                }


                if(!wally)
                    break;


            }
            if(wally)
            {
                identify_y = j; //Stores j values that match in variable
                identify_x = i; //Stores i values that match in variable
                printf("%d ", i);
                printf("%d ", j);
                break;
            }
        }
    }