C Массив указателей
и подобные адреса.
Массив указателей хранит набор указателей, и каждый указатель может указывать на другой объект данных.
Массивы указателей обычно используются для работы с несколькими объектами данных, такими как массивы строк или массивы других сложных структур данных.
Давайте рассмотрим пример, в котором используется массив из 3 целых чисел:
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
Value of var[0] = 10 Value of var[1] = 100 Value of var[2] = 200
Может возникнуть ситуация, когда нам нужен массив для хранения указателей на int, char или другие типы данных.
Ниже приведено объявление массива указателей, указывающих на целые числа:
int *ptr[MAX];
Здесь,ptrобъявлен как массив, состоящий из MAX целочисленных указателей. Следовательно, каждый элемент в ptr является указателем на значение int. В следующем примере используются три целых числа, которые будут сохранены в массиве указателей, как показано ниже:
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
Value of var[0] = 10 Value of var[1] = 100 Value of var[2] = 200
Вы также можете использовать массив указателей на символы для хранения списка строк, как показано ниже:
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
Value of names[0] = Zara Ali Value of names[1] = Hina Ali Value of names[2] = Nuha Ali Value of names[3] = Sara Ali
Рассмотрим другой простой пример. Сначала мы объявляем массив указателей ptrArray, содержащий три указателя на целые числа. Затем мы заставляем эти указатели указывать на различные целочисленные переменные num1, num2 и num3 соответственно. Наконец, мы используем массив указателей для доступа к значениям этих целочисленных переменных.
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
Value at index 0: 10 Value at index 1: 20 Value at index 2: 30
Массивы указателей очень полезны в C, особенно при работе со структурами данных с неопределённым количеством элементов, такими как динамически выделяемые массивы строк или динамически создаваемые массивы структур.
Другие расширения