چرا باید برای اشاره به یک آرایه دوبعدی، به این صورت عمل کرد:
int a[2][3]={0}; int *p; p=*a;
مگر خود آرایه نوعی اشارهگر نیست؟ چرا هنگام اشاره به آن، قبلش از * استفاده میکنیم؟
خب اینو در نظر داشته باشین که آرایهای بصورت arr[2][3] در واقع آرایهای از یک آرایه دیگه هست. به این معنی که شما آرایهای دو تایی از خونههایی دارین که هر کدوم اون خونهها خودشون 3 قسمت دارن. پس حالا برای اشاره به این آرایه دو بعدی، باید در اشارهگر، اشاره به آرایهای کنید که خودش هم آرایه ست به صورت p=*arr
arr[2][3]
p=*arr