Я читал это;
Хотя имя массива может использоваться как указатель (после разложения на указатель), невозможно присвоить ему новое значение. Попытка сделать это указать в другом месте ошибка:Можно ли присвоить новое значение имени массива?
while (*a != 0) // a is of (int *) type
a++; //wrong
С другой стороны, при передаче в функцию, имя массива всегда рассматриваются как указатель. Вызов
largest = largest_num(b, n) // b is an array of int
функция для функции
int find_largest(int a[], int n)
{
....
....
}
вызывает указатель на первый элемент b
быть назначен a
.
Выше двух утверждений (выделено полужирным шрифтом) представляется мне противоречивым. Я запутался.
'a' - указатель не массив @' find_largest (int a [], int n) ' –
@GrijeshChauhan; Является ли 'a []' локальной переменной 'find_largest()'? – haccks
Когда вы объявляете параметр функции как тип массива, компилятор в основном просто говорит: «Вверните вас, это указатель». И его идентичность как массив полностью потеряна. На мой взгляд, огромная бородавка на языке. –