2015-08-31 3 views
0
int (*n)[3];   
n=&m[i]; 

Где m является 2 мерной array.which имеет колонны. Может кто-то рассказать мне, почему необходимо использовать знак &. Я имею в виду, что m [0] укажет адрес 0-го массива, а m [1] укажет адрес первого массива. Почему нам тогда нужен знак &? Он показывает назначение из недопустимого типа указателя.Указатель на массив

Я новичок в программировании, поэтому, пожалуйста, помогите.

+0

Вы также можете использовать: 'n = (m + i);' – alk

ответ

2

& персонаж является адреса- оператора, она возвращает указатель на значение в выражении, в вашем случае она возвращает указатель на массив в m[i].

Вам нужно использовать его, потому что в противном случае, если вы используете просто m[i], массив распадается на указатель на первый элемент, который имеет тип int *.