C-Single-dimension-Arrays-and-Pointers

  • char a[5] = {‘c’, ‘p’, ‘r’, ‘o’, ‘g’}; char *p = a;

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

5

fun(a)

void fun(char *x)

2

&a[0],&*(a + 0), (a + 0), p

Memory

8

fun(a)

void fun(char *x)

3

&a[1], &*(a + 1), (a + 1), a + 1, p + 1

Memory

8

fun(a + 1)

void fun(char *x)

4

a[0],*(a + 0),*(a), *a, *p, p[0]

Value

1

fun(a[0]) or fun(*a)

void fun(char x)

5

a[1],*(a + 1), p[1], *(p + 1)

Value

1

fun(a[1]) or fun(*(a+1))

void fun(char x)

  • int a[5] = {1, 2, 3, 4, 5}; int *p = a;

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

20

fun(a)

void fun(int *x)

2

&a[0],&*(a + 0), (a + 0), p

Memory

8

fun(a)

void fun(int *x)

3

&a[1], &*(a + 1), (a + 1), a + 1, p + 1

Memory

8

fun(a + 1)

void fun(int *x)

4

a[0],*(a + 0),*(a), *a, *p, p[0]

Value

4

fun(a[0]) or fun(*a)

void fun(int x)

5

a[1],*(a + 1), p[1], *(p + 1)

Value

4

fun(a[1]) or fun(*(a+1))

void fun(int x)

  • float a[5] = {1, 2.5, 3.37, 4.589, 5.56788}; float *p = a;

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

20

fun(a)

void fun(float *x)

2

&a[0],&*(a + 0), (a + 0), p

Memory

8

fun(a)

void fun(float *x)

3

&a[1], &*(a + 1), (a + 1), a + 1, p + 1

Memory

8

fun(a + 1)

void fun(float *x)

4

a[0],*(a + 0),*(a), *a, *p, p[0]

Value

4

fun(a[0]) or fun(*a)

void fun(float x)

5

a[1],*(a + 1), p[1], *(p + 1)

Value

4

fun(a[1]) or fun(*(a+1))

void fun(float x)

  • double a[5] = {1.3424234123, 2.12312312, 3.234234234, 4.80908980, 5.182318231}; double *p = a;

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

40

fun(a)

void fun(double *x)

2

&a[0],&*(a + 0), (a + 0), p

Memory

8

fun(a)

void fun(double *x)

3

&a[1], &*(a + 1), (a + 1), a + 1, p + 1

Memory

8

fun(a + 1)

void fun(double *x)

4

a[0],*(a + 0),*(a), *a, *p, p[0]

Value

8

fun(a[0]) or fun(*a)

void fun(double x)

5

a[1],*(a + 1), p[1], *(p + 1)

Value

8

fun(a[1]) or fun(*(a+1))

void fun(double x)

  • struct ABC { int x; int y; } a[5]; struct ABC *p = a;

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

40

fun(a)

void fun(struct ABC *x)

2

&a[0],&*(a + 0), (a + 0), p

Value

8

fun(a)

void fun(struct ABC *x)

3

&a[1], &*(a + 1), (a + 1), a + 1, p + 1

Memory

8

fun(a + 1)

void fun(struct ABC *x)

4

a[0],*(a + 0),*(a), *a, *p, p[0]

Value

8

fun(a[0]) or fun(*a)

void fun(struct ABC x)

5

a[1],*(a + 1), p[1], *(p + 1)

Value

8

fun(a[1]) or fun(*(a+1))

void fun(struct ABC x)

  • union ABC { int x; int y; } a[5]; union ABC *p = a;

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

20

fun(a)

void fun(union ABC *x)

2

&a[0],&*(a + 0), (a + 0), p

Value

8

fun(a)

void fun(union ABC *x)

3

&a[1], &*(a + 1), (a + 1), a + 1, p + 1

Memory

8

fun(a + 1)

void fun(union ABC *x)

4

a[0],*(a + 0),*(a), *a, *p, p[0]

Value

4

fun(a[0]) or fun(*a)

void fun(union ABC x)

5

a[1],*(a + 1), p[1], *(p + 1)

Value

4

fun(a[1]) or fun(*(a+1))

void fun(union ABC x)

C-Double-dimension-Arrays-and-Pointers

  • char a[2][3] = { {‘c’, ‘p’, ‘r’,}, {‘o’, ‘g’, ‘r’} };

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

6

fun(a)

void fun(char (*x)[ ])

2

&a[0],&*(a + 0), (a + 0)

Memory

8

fun(a)

void fun(char (*x)[ ])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1)

void fun(char (*x)[ ])

4

a[0],*(a + 0),*(a), *a

Value

3

fun(a[0]) or fun(*a)

void fun(char *x)

5

a[1],*(a + 1)

Value

3

fun(a[1]) or fun(*(a+1))

void fun(char *x)

6

a[0][0], *a[0], (*a)[0], **a

Value

1

fun(a[0][0]) or fun(*a[0]) or fun((*a)[0]) or fun(**a)

void fun(char x)

7

a[0][1], (*a)[1]

Value

1

fun(a[0][1] or fun((*a)[1]))

void fun(char x)

8

a[1][0], *a[1], *(*(a+1))

Value

1

fun(a[1][0]) or fun(*a[1]) or fun(*(*(a+1)))

void fun(char x)

9

a[1][1], *(*(a+1) + 1)

Value

1

fun(a[1][1]) or fun(*(*(a+1) + 1))

void fun(char x)

10

a[1][2], *(*(a+1)+2)

Value

1

fun(a[1][2]) or fun(*(*(a+1)+2))

void fun(char x)

11

&a[0][0]

Memory

8

fun(&a[0][0])

void fun(char *x)

  • int a[2][3] = { { 1, 2, 3,}, {4, 5, 6} };

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

24

fun(a)

void fun(int (*x)[ ])

2

&a[0],&*(a + 0), (a + 0)

Memory

8

fun(a)

void fun(int (*x)[ ])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1)

void fun(int (*x)[ ])

4

a[0],*(a + 0),*(a), *a

Value

12

fun(a[0]) or fun(*a)

void fun(int *x)

5

a[1],*(a + 1)

Value

12

fun(a[1]) or fun(*(a+1))

void fun(int *x)

6

a[0][0], *a[0], (*a)[0], **a

Value = 1

4

fun(a[0][0]) or fun(*a[0]) or fun((*a)[0]) or fun(**a)

void fun(int x)

7

a[0][1], (*a)[1]

Value = 2

4

fun(a[0][1] or fun((*a)[1]))

void fun(int x)

8

a[1][0], *a[1], *(*(a+1))

Value = 4

4

fun(a[1][0]) or fun(*a[1]) or fun(*(*(a+1)))

void fun(int x)

9

a[1][1], *(*(a+1) + 1)

Value = 5

4

fun(a[1][1]) or fun(*(*(a+1) + 1))

void fun(int x)

10

a[1][2], *(*(a+1)+2)

Value = 6

4

fun(a[1][2]) or fun(*(*(a+1)+2))

void fun(int x)

11

&a[0][0]

Memory

8

fun(&a[0][0])

void fun(int *x)

  • float a[2][3] = { {1, 2.5, 3.37,}, {4.589, 5.56788, 4565.2323} };

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

24

fun(a)

void fun(float (*x)[ ])

2

&a[0],&*(a + 0), (a + 0)

Memory

8

fun(a)

void fun(float (*x)[ ])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1)

void fun(float (*x)[ ])

4

a[0],*(a + 0),*(a), *a

Value

12

fun(a[0]) or fun(*a)

void fun(float *x)

5

a[1],*(a + 1)

Value

12

fun(a[1]) or fun(*(a+1))

void fun(float *x)

6

a[0][0], *a[0], (*a)[0], **a

Value

4

fun(a[0][0]) or fun(*a[0]) or fun((*a)[0]) or fun(**a)

void fun(float x)

7

a[0][1], (*a)[1]

Value

4

fun(a[0][1] or fun((*a)[1]))

void fun(float x)

8

a[1][0], *a[1], *(*(a+1))

Value

4

fun(a[1][0]) or fun(*a[1]) or fun(*(*(a+1)))

void fun(float x)

9

a[1][1], *(*(a+1) + 1)

Value

4

fun(a[1][1]) or fun(*(*(a+1) + 1))

void fun(float x)

10

a[1][2], *(*(a+1)+2)

Value

4

fun(a[1][2]) or fun(*(*(a+1)+2))

void fun(float x)

11

&a[0][0]

Memory

8

fun(&a[0][0])

void fun(float *x)

  • double a[2][3] = { {1.3424234123, 2.12312312, 3.234234234,}, {4.80908980, 5.182318231,342,2312312} };

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

48

fun(a)

void fun(double (*x)[ ])

2

&a[0],&*(a + 0), (a + 0)

Memory

8

fun(a)

void fun(double (*x)[ ])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1)

void fun(double (*x)[ ])

4

a[0],*(a + 0),*(a), *a

Value

24

fun(a[0]) or fun(*a)

void fun(double *x)

5

a[1],*(a + 1)

Value

24

fun(a[1]) or fun(*(a+1))

void fun(double *x)

6

a[0][0], *a[0], (*a)[0], **a

Value

8

fun(a[0][0]) or fun(*a[0]) or fun((*a)[0]) or fun(**a)

void fun(double x)

7

a[0][1], (*a)[1]

Value

8

fun(a[0][1] or fun((*a)[1]))

void fun(double x)

8

a[1][0], *a[1], *(*(a+1))

Value

8

fun(a[1][0]) or fun(*a[1]) or fun(*(*(a+1)))

void fun(double x)

9

a[1][1], *(*(a+1) + 1)

Value

8

fun(a[1][1]) or fun(*(*(a+1) + 1))

void fun(double x)

10

a[1][2], *(*(a+1)+2)

Value

8

fun(a[1][2]) or fun(*(*(a+1)+2))

void fun(double x)

11

&a[0][0]

Memory

8

fun(&a[0][0])

void fun(double *x)

  • struct ABC { int x; int y; } a[2][3];

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

48

fun(a)

void fun(struct ABC (*x)[ ])

2

&a[0],&*(a + 0), (a + 0)

Memory

8

fun(a)

void fun(struct ABC (*x)[ ])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1)

void fun(struct ABC (*x)[ ])

4

a[0],*(a + 0),*(a), *a

Value

24

fun(a[0]) or fun(*a)

void fun(struct ABC *x)

5

a[1],*(a + 1)

Value

24

fun(a[1]) or fun(*(a+1))

void fun(struct ABC *x)

6

a[0][0], *a[0], (*a)[0], **a

Value

8

fun(a[0][0]) or fun(*a[0]) or fun((*a)[0]) or fun(**a)

void fun(struct ABC x)

7

a[0][1], (*a)[1]

Value

8

fun(a[0][1] or fun((*a)[1]))

void fun(struct ABC x)

8

a[1][0], *a[1], *(*(a+1))

Value

8

fun(a[1][0]) or fun(*a[1]) or fun(*(*(a+1)))

void fun(struct ABC x)

9

a[1][1], *(*(a+1) + 1)

Value

8

fun(a[1][1]) or fun(*(*(a+1) + 1))

void fun(struct ABC x)

10

a[1][2], *(*(a+1)+2)

Value

8

fun(a[1][2]) or fun(*(*(a+1)+2))

void fun(struct ABC x)

11

&a[0][0]

Memory

8

fun(&a[0][0])

void fun(struct ABC *x)

  • union ABC { int x; int y; } a[2][3];

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

24

fun(a)

void fun(union ABC (*x)[ ])

2

&a[0],&*(a + 0), (a + 0)

Memory

8

fun(a)

void fun(union ABC (*x)[ ])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1)

void fun(union ABC (*x)[ ])

4

a[0],*(a + 0),*(a), *a

Value

12

fun(a[0]) or fun(*a)

void fun(union ABC *x)

5

a[1],*(a + 1)

Value

12

fun(a[1]) or fun(*(a+1))

void fun(union ABC *x)

6

a[0][0], *a[0], (*a)[0], **a

Value

4

fun(a[0][0]) or fun(*a[0]) or fun((*a)[0]) or fun(**a)

void fun(union ABC x)

7

a[0][1], (*a)[1]

Value

4

fun(a[0][1] or fun((*a)[1]))

void fun(union ABC x)

8

a[1][0], *a[1], *(*(a+1))

Value

4

fun(a[1][0]) or fun(*a[1]) or fun(*(*(a+1)))

void fun(union ABC x)

9

a[1][1], *(*(a+1) + 1)

Value

4

fun(a[1][1]) or fun(*(*(a+1) + 1))

void fun(union ABC x)

10

a[1][2], *(*(a+1)+2)

Value

4

fun(a[1][2]) or fun(*(*(a+1)+2))

void fun(union ABC x)

11

&a[0][0]

Memory

8

fun(&a[0][0])

void fun(union ABC *x)

C-Three-dimension-Arrays-and-Pointers

char a[2][2][3] = {
		{
				{‘c’, ‘p’, ‘r’},
				{‘o’, ‘g’, ‘r’}
		},
		{
				{‘a’, ‘b’, ‘c’},
				{‘d’, ‘e’, ‘f’}
		}
};

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

12

fun(a);

void fun(char (*x)[2][3])

2

&a[0],&*(a + 0), (a + 0),a

Memory

8

fun(a);

void fun(char (*x)[2][3])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1);

void fun(char (*x)[2][3])

4

&a[0][0],&(*(*(a+0)+0)),*a

Memory

8

fun(*a) or fun(a[0]);

void fun(char (*x)[ ])

5

&a[0][1],&(*(*(a+0)+1)),*(a)+1

Memory

8

fun(*(a)+1) or fun(a[0]+1)

void fun(char (*x)[ ])

6

a[0],*(a+0),*a

Value

6

fun(*a);

void fun(char (*x)[ ])

7

a[1], *(a+1)

Value

6

fun(*(a+1));

void fun(char (*x)[ ])

8

a[0][0], *(*(a+0)+0),*(*a),**a

Value

3

fun(**a);

void fun(char *x)

9

a[0][1], *(*(a+0)+1),*((*a)+1)

Value

3

fun(*((*a)+1));

void fun(char *x)

10

a[1][0], *(*(a+1)+0),*(*(a+1))

Value

3

fun(*(*a+1));

void fun(char *x)

11

a[1][1], *(*(a+1)+1)

Value

3

fun(*(*(a+1)+1));

void fun(char *x)

12

a[0][0][0], *(*(*(a+0)+0)+0),***a

Value

1

fun(***a);

void fun(char x)

13

a[0][1][0], *(*(*(a+0)+1)+0),*(*(*(a)+1))

Value

1

fun(**(*a+1));

void fun(char x)

14

a[1][0][0], *(*(*(a+1)+0)+0),***(a+1)

Value

1

fun(***(a+1));

void fun(char x)

15

a[1][1][0],*(*(*(a+1)+1)+0),**(*(a+1)+1)

Value

1

fun(**(*(a+1)+1));

void fun(char x)

16

&a[0][0][0],&*(*(*(a+0)+0)+0),**a

Memory

8

fun(**a) or fun(&a[0][0][0]);

void fun(char *x)

17

&a[1][0][0],&*(*(*(a+1)+0)+0), **(a+1)

Memory

8

fun(**(a+1));

void fun(char *x)

18

&a[1][1][3],&*(*(*(a+1)+1)+3),*(*(a+1)+1)+3

Memory

8

fun(*(*(a+1)+1)+3);

void fun(char *x);

int a[2][2][3] = {
		{
				{1,2,3},
				{4,5,6}
		} ,
		{
				{10,9,8},
				{7,6,5}
		}
};

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

48

fun(a);

void fun(int (*x)[2][3])

2

&a[0],&*(a + 0), (a + 0),a

Memory

8

fun(a);

void fun(int (*x)[2][3])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1);

void fun(int (*x)[2][3])

4

&a[0][0],&(*(*(a+0)+0)),*a

Memory

8

fun(*a) or fun(a[0]);

void fun(int (*x)[ ])

5

&a[0][1],&(*(*(a+0)+1)),*(a)+1

Memory

8

fun(*(a)+1) or fun(a[0]+1)

void fun(int (*x)[ ])

6

a[0],*(a+0),*a

Value

24

fun(*a);

void fun(int (*x)[ ])

7

a[1], *(a+1)

Value

24

fun(*(a+1));

void fun(int (*x)[ ])

8

a[0][0], *(*(a+0)+0),*(*a),**a

Value

12

fun(**a);

void fun(int *x)

9

a[0][1], *(*(a+0)+1),*((*a)+1)

Value

12

fun(*((*a)+1));

void fun(int *x)

10

a[1][0], *(*(a+1)+0),*(*(a+1))

Value

12

fun(*(*a+1));

void fun(int *x)

11

a[1][1], *(*(a+1)+1)

Value

12

fun(*(*(a+1)+1));

void fun(int *x)

12

a[0][0][0], *(*(*(a+0)+0)+0),***a

Value

4

fun(***a);

void fun(int x)

13

a[0][1][0], *(*(*(a+0)+1)+0),*(*(*(a)+1))

Value

4

fun(**(*a+1));

void fun(int x)

14

a[1][0][0], *(*(*(a+1)+0)+0),***(a+1)

Value

4

fun(***(a+1));

void fun(int x)

15

a[1][1][0],*(*(*(a+1)+1)+0),**(*(a+1)+1)

Value

4

fun(**(*(a+1)+1));

void fun(int x)

16

&a[0][0][0],&*(*(*(a+0)+0)+0), **a

Memory

8

fun(**a) or fun(&a[0][0][0]);

void fun(int *x)

17

&a[1][0][0],&*(*(*(a+1)+0)+0), **(a+1)

Memory

8

fun(**(a+1));

void fun(int *x)

18

&a[1][1][3],&*(*(*(a+1)+1)+3), *(*(a+1)+1)+3

Memory

8

fun(*(*(a+1)+1)+3);

void fun(int *x);

float a[2][2][3] = {
		{
				{1.2,2.5,3.345},
				{4.2345,5.1234,6.678}
		} ,
		{
				{10.2,9.5,8.345},
				{7.2345,6.1234,5.678}
		}
};

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

48

fun(a);

void fun(float (*x)[2][3])

2

&a[0],&*(a + 0), (a + 0),a

Memory

8

fun(a);

void fun(float (*x)[2][3])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1);

void fun(float (*x)[2][3])

4

&a[0][0],&(*(*(a+0)+0)),*a

Memory

8

fun(*a) or fun(a[0]);

void fun(float (*x)[ ])

5

&a[0][1],&(*(*(a+0)+1)),*(a)+1

Memory

8

fun(*(a)+1) or fun(a[0]+1)

void fun(float (*x)[ ])

6

a[0],*(a+0),*a

Value

24

fun(*a);

void fun(float (*x)[ ])

7

a[1], *(a+1)

Value

24

fun(*(a+1));

void fun(float (*x)[ ])

8

a[0][0], *(*(a+0)+0),*(*a),**a

Value

12

fun(**a);

void fun(float *x)

9

a[0][1], *(*(a+0)+1),*((*a)+1)

Value

12

fun(*((*a)+1));

void fun(float *x)

10

a[1][0], *(*(a+1)+0),*(*(a+1))

Value

12

fun(*(*a+1));

void fun(float *x)

11

a[1][1], *(*(a+1)+1)

Value

12

fun(*(*(a+1)+1));

void fun(float *x)

12

a[0][0][0], *(*(*(a+0)+0)+0),***a

Value

4

fun(***a);

void fun(float x)

13

a[0][1][0], *(*(*(a+0)+1)+0),*(*(*(a)+1))

Value

4

fun(**(*a+1));

void fun(float x)

14

a[1][0][0], *(*(*(a+1)+0)+0),***(a+1)

Value

4

fun(***(a+1));

void fun(float x)

15

a[1][1][0],*(*(*(a+1)+1)+0),**(*(a+1)+1)

Value

4

fun(**(*(a+1)+1));

void fun(float x)

16

&a[0][0][0],&*(*(*(a+0)+0)+0),**a

Memory

8

fun(**a) or fun(&a[0][0][0]);

void fun(float *x)

17

&a[1][0][0],&*(*(*(a+1)+0)+0),**(a+1)

Memory

8

fun(**(a+1));

void fun(float *x)

18

&a[1][1][3],&*(*(*(a+1)+1)+3),*(*(a+1)+1)+3

Memory

8

fun(*(*(a+1)+1)+3);

void fun(float *x);

double a[2][2][3]={
		{
				{1.23686933,2.55555555,3.32345452},
				{42345,5.1233234,6.63378}
		} ,
		{
				{10.222222,9.5555555,8.23434345},
				{72345,6.1233234,5.63378}
		}
};

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

96

fun(a);

void fun(double (*x)[2][3])

2

&a[0],&*(a + 0), (a + 0),a

Memory

8

fun(a);

void fun(double (*x)[2][3])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1);

void fun(double (*x)[2][3])

4

&a[0][0],&(*(*(a+0)+0)),*a

Memory

8

fun(*a) or fun(a[0]);

void fun(double (*x)[ ])

5

&a[0][1],&(*(*(a+0)+1)),*(a)+1

Memory

8

fun(*(a)+1) or fun(a[0]+1)

void fun(double (*x)[ ])

6

a[0],*(a+0),*a

Value

48

fun(*a);

void fun(double (*x)[ ])

7

a[1], *(a+1)

Value

48

fun(*(a+1));

void fun(double (*x)[ ])

8

a[0][0], *(*(a+0)+0),*(*a),**a

Value

24

fun(**a);

void fun(double *x)

9

a[0][1], *(*(a+0)+1),*((*a)+1)

Value

24

fun(*((*a)+1));

void fun(double *x)

10

a[1][0], *(*(a+1)+0),*(*(a+1))

Value

24

fun(*(*a+1));

void fun(double *x)

11

a[1][1], *(*(a+1)+1)

Value

24

fun(*(*(a+1)+1));

void fun(double *x)

12

a[0][0][0], *(*(*(a+0)+0)+0), ***a

Value

8

fun(***a);

void fun(double x)

13

a[0][1][0], *(*(*(a+0)+1)+0),*(*(*(a)+1))

Value

8

fun(**(*a+1));

void fun(double x)

14

a[1][0][0], *(*(*(a+1)+0)+0),***(a+1)

Value

8

fun(***(a+1));

void fun(double x)

15

a[1][1][0],*(*(*(a+1)+1)+0),**(*(a+1)+1)

Value

8

fun(**(*(a+1)+1));

void fun(double x)

16

&a[0][0][0],&*(*(*(a+0)+0)+0),**a

Memory

8

fun(**a) or fun(&a[0][0][0]);

void fun(double *x)

17

&a[1][0][0],&*(*(*(a+1)+0)+0),**(a+1)

Memory

8

fun(**(a+1));

void fun(double *x)

18

&a[1][1][3],&*(*(*(a+1)+1)+3),*(*(a+1)+1)+3

Memory

8

fun(*(*(a+1)+1)+3);

void fun(double *x);

struct abc { int x; int y; } a[2][2][3];

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

96

fun(a);

void fun(struct abc (*x)[2][3])

2

&a[0],&*(a + 0), (a + 0),a

Memory

8

fun(a);

void fun(struct abc (*x)[2][3])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1);

void fun(struct abc (*x)[2][3])

4

&a[0][0],&(*(*(a+0)+0)),*a

Memory

8

fun(*a) or fun(a[0]);

void fun(struct abc (*x)[ ])

5

&a[0][1],&(*(*(a+0)+1)),*(a)+1

Memory

8

fun(*(a)+1) or fun(a[0]+1)

void fun(struct abc (*x)[ ])

6

a[0],*(a+0),*a

Value

48

fun(*a);

void fun(struct abc (*x)[ ])

7

a[1], *(a+1)

Value

48

fun(*(a+1));

void fun(struct abc (*x)[ ])

8

a[0][0], *(*(a+0)+0),*(*a),**a

Value

24

fun(**a);

void fun(struct abc *x)

9

a[0][1], *(*(a+0)+1),*((*a)+1)

Value

24

fun(*((*a)+1));

void fun(struct abc *x)

10

a[1][0], *(*(a+1)+0),*(*(a+1))

Value

24

fun(*(*a+1));

void fun(struct abc *x)

11

a[1][1], *(*(a+1)+1)

Value

24

fun(*(*(a+1)+1));

void fun(struct abc *x)

12

a[0][0][0], *(*(*(a+0)+0)+0),***a

Value

8

fun(***a);

void fun(struct abc x)

13

a[0][1][0], *(*(*(a+0)+1)+0),*(*(*(a)+1))

Value

8

fun(**(*a+1));

void fun(struct abc x)

14

a[1][0][0], *(*(*(a+1)+0)+0),***(a+1)

Value

8

fun(***(a+1));

void fun(struct abc x)

15

a[1][1][0],*(*(*(a+1)+1)+0),**(*(a+1)+1)

Value

8

fun(**(*(a+1)+1));

void fun(struct abc x)

16

&a[0][0][0],&*(*(*(a+0)+0)+0),**a

Memory

8

fun(**a) or fun(&a[0][0][0]);

void fun(struct abc *x)

17

&a[1][0][0],&*(*(*(a+1)+0)+0),**(a+1)

Memory

8

fun(**(a+1));

void fun(struct abc *x)

18

&a[1][1][3],&*(*(*(a+1)+1)+3),*(*(a+1)+1)+3

Memory

8

fun(*(*(a+1)+1)+3);

void fun(struct abc *x);

union abc { int x; int y; } a[2][2][3];

Sl.No

Synonyms

Rule applied

Memory or Value

sizeof()

Actual arguements

Formal arguements

1

a

Value

48

fun(a);

void fun(union abc (*x)[2][3])

2

&a[0],&*(a + 0), (a + 0),a

Memory

8

fun(a);

void fun(union abc (*x)[2][3])

3

&a[1], &*(a + 1), (a + 1), a + 1

Memory

8

fun(a + 1);

void fun(union abc (*x)[2][3])

4

&a[0][0],&(*(*(a+0)+0)),*a

Memory

8

fun(*a) or fun(a[0]);

void fun(union abc (*x)[ ])

5

&a[0][1],&(*(*(a+0)+1)),*(a)+1

Memory

8

fun(*(a)+1) or fun(a[0]+1)

void fun(union abc (*x)[ ])

6

a[0],*(a+0),*a

Value

24

fun(*a);

void fun(union abc (*x)[ ])

7

a[1], *(a+1)

Value

24

fun(*(a+1));

void fun(union abc (*x)[ ])

8

a[0][0], *(*(a+0)+0),*(*a),**a

Value

12

fun(**a);

void fun(union abc *x)

9

a[0][1], *(*(a+0)+1),*((*a)+1)

Value

12

fun(*((*a)+1));

void fun(union abc *x)

10

a[1][0], *(*(a+1)+0),*(*(a+1))

Value

12

fun(*(*a+1));

void fun(union abc *x)

11

a[1][1], *(*(a+1)+1)

Value

12

fun(*(*(a+1)+1));

void fun(union abc *x)

12

a[0][0][0], *(*(*(a+0)+0)+0),***a

Value

4

fun(***a);

void fun(union abc x)

13

a[0][1][0], *(*(*(a+0)+1)+0),*(*(*(a)+1))

Value

4

fun(**(*a+1));

void fun(union abc x)

14

a[1][0][0], *(*(*(a+1)+0)+0),***(a+1)

Value

4

fun(***(a+1));

void fun(union abc x)

15

a[1][1][0],*(*(*(a+1)+1)+0),**(*(a+1)+1)

Value

4

fun(**(*(a+1)+1));

void fun(union abc x)

16

&a[0][0][0],&*(*(*(a+0)+0)+0),**a

Memory

8

fun(**a) or fun(&a[0][0][0]);

void fun(union abc *x)

17

&a[1][0][0],&*(*(*(a+1)+0)+0),**(a+1)

Memory

8

fun(**(a+1));

void fun(union abc *x)

18

&a[1][1][3],&*(*(*(a+1)+1)+3),*(*(a+1)+1)+3

Memory

8

fun(*(*(a+1)+1)+3);

void fun(union abc *x);