Как подключить поток к каналам и получить эту информацию к другому потоку?

Массивы реализованы как смежное расположение памяти в памяти. Когда вы пишете что-то вроде

int arr[] = {1, 2, 3};
int *p = arr

, тогда здесь arr является всего лишь указателем базового типа int, указывающим на первый элемент в массиве, а оператор [] просто помогает в его приращении

, например

arr[2]; // same as *(arr+2)
p[2]; // same as *(p+2) i.e. arr[2]

Как сказал @melpomene, ваш вопрос не совсем корректен. Указатель на массив подразумевает что-то вроде

int (*p)[3] = &arr;

Здесь указатель имеет базовый тип int [3], поэтому, когда вы увеличиваете (p++), тогда p будет увеличиваться на 3 int.

Указатели на массивы более заметны в случае многомерных массивов

1
задан John Bollinger 18 January 2019 в 18:14
поделиться