Форма обращения к элементам массива с помощью указателей имеет следующий вид:
int a[10], *p; // описываем статический массив и указатель
int b;
p = a; // присваиваем указателю начальный адрес массива
... // ввод элементов массива
b = *p; // b = a[0];
b = *(p+i) // b = a[i];
Пример: Организация динамического одномерного массива и ввод его элементов.
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
int main() {
int *a; // указатель на массив
int i, n;
system("chcp 1251");
system("cls");
printf("Введите размер массива: ");
scanf("%d", &n);
// Выделение памяти
a = (int*) malloc(n*sizeof(int));
// Ввод элементов массива
for(i=0; i<n; i++)
{
printf("a[%d] = ", i);
scanf("%d", &a[i]);
}
// Вывод элементов массива
for(i=0; i<n; i++)
printf("%d ", a[i]);
free(a);
getchar(); getchar();
return 0;
}
Результат выполнения программы: