Shallow copy
is also known as address copy. In this process you only copy address not actual
data while in deep copy you copy data.
Suppose there are two objects
A and B. A is pointing to a different array while B is pointing to different
array. Now what I will do is following to do shallow copy.
Char *A = {‘a','b','c'};
Char *B = {‘x','y','z'};
B = A;
Now B is pointing is at same
location where A pointer is pointing. Both A and B in this case sharing same
data. if change is made both will get altered value of data.
Advantage is that
coping process is very fast and is independent of size of array.
while in
deep copy data is also copied. This process is slow but Both A and B have their
own copies and changes made to any copy, other will copy will not be affected.