Russian Qt Forum

Qt => Вопросы новичков => Тема начата: qtest от Декабрь 16, 2012, 15:22



Название: Странное поведение массива
Отправлено: qtest от Декабрь 16, 2012, 15:22
Здравствуйте.
Из-за чего так происходит?

(http://tau.rghost.ru/42284210/image.png)


Название: Re: Странное поведение массива
Отправлено: Kurles от Декабрь 16, 2012, 15:40
память выделяешь для 4-х элементов, а водишь 5. В первом случае совпало, скорее всего, что память для переменной b компилятор выделил сразу за массивом, и пятое значение сохранилось именно там.


Название: Re: Странное поведение массива
Отправлено: qtest от Декабрь 16, 2012, 16:14
Спасибо. Номера элементов отсчитываются с нуля, а количество, получается, с единицы? Несколько неудобно.


Название: Re: Странное поведение массива
Отправлено: Kurles от Декабрь 16, 2012, 16:32
Спасибо. Номера элементов отсчитываются с нуля, а количество, получается, с единицы? Несколько неудобно.
Скорее "несколько не привычно"  :)


Название: Re: Странное поведение массива
Отправлено: qtest от Декабрь 16, 2012, 16:46
Ну или так.
Последний элемент правда попадает в b, теперь все понятно.
И если не сложно, можете подсказать, как задать параметры проекта по умолчанию, чтобы каждый раз не ставить чистую системную среду, и как включить отображение ошибок справа от номера строки в самом редакторе (где-то было, выглядело довольно удобно)? 


Название: Re: Странное поведение массива
Отправлено: V1KT0P от Декабрь 16, 2012, 16:57
Спасибо. Номера элементов отсчитываются с нуля, а количество, получается, с единицы? Несколько неудобно.
Все удобно и даже логично.
a - указатель на первый элемент массива.
a[0] - берем указатель на первый элемент массива + прибавляем "0", в результате получаем первый элемент.
a[1] - берем указатель на первый элемент массива + прибавляем "1", в результате получаем второй элемент.

А количество тоже с нуля, просто количество нуль элементов как-бы является ничем поэтому и ненужно.