I am using gcc compiler on ubuntu 16 , when I am printing value garbage value is getting displayed
#include <bits/stdc++.h>
int Arrayprint(int r, int l, unsigned int* q)
{
    r = 3;
    l = 4;
    for (int i = 0; i < r; i++) {
        for (int j = 0; j < l; j++) {
            cout << *(q + sizeof(unsigned int) * (i * l + j)); //Garbage getting diplay
            cout << *(q + i + j); //this working
            cout << "\t";
        }
    }
    cout << "size of unsigned int : " << sizeof(unsigned int); //4
    cout << "size of int : " << sizeof(int); //4
}
int main()
{
    unsigned int image[R][L] = { { 1, 2, 3, 4 },
        { 5, 6, 7, 8 },
        { 9, 10, 11, 12 } };
    unsigned int* q = (unsigned int*)image;
    Arrayprint(R, L, q);
}
 
     
     
    