در زبان C میتوان آرایهای از اشارهگرها تعریف کرد؛ یعنی آرایهای که عناصر آن اشارهگر باشند. دستور زیر آرایهای ۱۰ عنصری از اشارهگرها را توصیف میکند.
int *x[10] ;
اینها اشارهگرهاییاند که میتوانند آدرس متغیرهایی از نوع مقادیر صحیح را در خود داشته باشند. به عنوان مثال برای اختصاص دادن آدرس متغیری به نام z به عنصر سوم آرایه مزبور مینویسیم
*x[2] = &z ;
همین طور برای به دست آوردن مقدار z از دستور **[x] استفاده می کنیم.
آرایهای از اشارهگرها را نیز میتوان مشابه آرایههای معمولی به یک تابع انتقال داد؛ یعنی به سادگی، نام آرایه را بدون اندیس یا زیرنویس آن به عنوان آرگومان تابع قرار میدهیم.
مثال تابع FF1 میتواند آرایه x را به صورت زیر دریافت کند.
void FF1 (int *a[ ])
{
int k ;
for (k=0 ; k<10 ; k+ +)
printf (” %p” , *a[k]) ;
}
توجه داشته باشید که در این مثال a اشارهگری به مقادیر صحیح نیست بلکه اشارهگری به آرایهای از اشارهگرهایی به مقادیر صحیح است. بنابراین نیاز است که پارامتر a آرایهای از اشارهگرهایی به مقادیر صحیح، به همان طریق که نشان دادیم، توصیف شود.
آرایههای اشارهگر اغلب برای نگهداری اشارهگرهایی به رشتهها به کار میروند.