In the above code, I define pointers "a" and "b". Then I assign some values to "a". Then I say b = a. Here, does it mean that I have assigned memory locations of "a" to "b"? or I have assigned values stored in array "a" to array "b"?Code:#include<stdlib.h> #include<stdio.h> int main() { int n, i; printf("\nEnter a number: \n"); scanf("%d",&n); int * a = (int*) malloc(n*sizeof(int)); int * b = (int*) malloc(n*sizeof(int)); for(i=0;i<n;i++) a[i]=i*i; b=a; for(i=0;i<n;i++) { printf("%d: \n",b[i]); } free(a); free(b); return 0; }