Является ли p = массив таким же, как p = & array [0]? int numbers[20]; int * p; Являются ли два назначения ниже одного? p = numbers; p = &numbers[0]; Ответ 1 Да, оба одинаковы. В этом случае имя массива распадается на указатель на его первый элемент. Следовательно, p = numbers; //Name of the array совпадает с: p = &numbers[0]; //Address of the First Element of the Array Ответ 2 Да, они одинаковы. Когда имя массива вызывается в контексте rvalue, оно распадается на указатель на его первый элемент. Ответ 3 numbers[0] is equal to *number and equal to *(number+0) numbers[x] = *(number+x) so & (* (number + x)) = number + x, который является адресом x'th элемента
Ответ 1 Да, оба одинаковы. В этом случае имя массива распадается на указатель на его первый элемент. Следовательно, p = numbers; //Name of the array совпадает с: p = &numbers[0]; //Address of the First Element of the Array
Ответ 2 Да, они одинаковы. Когда имя массива вызывается в контексте rvalue, оно распадается на указатель на его первый элемент.
Ответ 3 numbers[0] is equal to *number and equal to *(number+0) numbers[x] = *(number+x) so & (* (number + x)) = number + x, который является адресом x'th элемента