Оригинальный вопрос: Если я определяю:
const int z[5] = {10, 11, 12, 13, 14};
означает ли это:
- это постоянный массив целых чисел, то есть адрес, который указывает z, всегда постоянный и никогда не может меняться, но элементы z могут меняться.
ИЛИ
- Каждый элемент z является константой, т.е. их значение никогда не может измениться.
Edit:
Дополнительная информация:
Существует еще одна переменная:
const int *y = z;
func((int *) y);
где func определяется как:
void func(int y[]) {
int i;
for(i = 0; i < 5; i++) {
y[i] = i; //y[i] can be set to any integer; used i as example
}
}
где в func, используя y, массив перемещается и каждый элемент изменяется. Действительно ли это верно, хотя все элементы z являются const?