Arrays in C ++ (Video)




массивы в c++, массивы в с++, одномерный массив

Arrays sind äußerst wichtiges Thema in C ++. Die Programme sind sehr häufig verwendet und das Thema gründlich verstehen sein muss. Ab sofort werden Sie bitte – zu verstehen und zu lernen, wie man Arrays zu verwenden ist einfach genug, auch ein Anfänger.

so, Warum brauchen wir Arrays und wie sie aussehen? Inzwischen wissen Sie bereits gut, dass die Programmdaten uns in der erklärt gespeichert Variablen eines bestimmten Typs (int, doppelt, verkohlen… ). Aber es passiert so, dass das Programm braucht hunderte zu speichern (und noch mehr) Variablen des gleichen Typs von Daten,, sowie die Notwendigkeit, mit ihnen zu arbeiten - Werte zuweisen, modifizieren, usw.. Z.B, es ist notwendig, die Seriennummern der Zeilen zu speichern,. zustimmen – jemand würde von dem Gedanken Angst, es ist notwendig, eine hundert vom Typ int Variablen zu erstellen, geben jeweils einen eindeutigen Namen ein und weisen einen Wert von 1 bis 500-ta. (Ich habe schrecklich :) In diesem Fall, Wir speichern einfach Arrays.

Beachten Sie den Boden und gehen Sie zum Beispiel aus der Praxis:

  • ein Array in C ++ - eine Kombination aus einer bestimmten Anzahl von ähnlichen Variablen, mit dem gleichen Namen. Z.B, int array [3];. Dieser Eintrag bedeutet,, wir erklärt ein Array mit dem Namen Feld , die es enthält 3 Typ Variablen int;
  • Array-Variablen werden als Elemente ;
  • Jedes Element hat seinen eigenen einzigartigen Code - eine Sequenznummer. Verwenden des Index, können wir auf ein bestimmtes Element verweisen. WICHTIG - Indizierung Array-Elemente beginnt mit 0. Somit in einer Anordnung int array [3] das erste Element hat den Index 0, und die letzte - 2. Zur Bewältigung, beispielsweise, dem Nullelement des Arrays und seinen Wert ändern, es ist nötig, den Namen des Feldes in eckigen Klammern angeben, den Index, um anzuzeigen, – Feld [0] = 33.

Betrachten Sie das Beispiel:

On line 12 Wir definieren eine Integer-Konstante GRÖSSE, die speichert die Größe des Arrays (Einwirkungs, die Anzahl der Elemente). On line 13 deklarieren ein Array: geben Sie die Art der Daten,, die in einem Array von Zellen gespeichert werden,, den Namen geben und die Größe in eckigen Klammern angeben . wichtig, in eckigen Klammern können wir erfassen nur die gesamte konstante Werte. Es muss entweder sofort eine ganze Zahl in eckigen Klammern in der Array-Deklaration eingeben (int first[100];), oder eine ganze Zahl definieren Konstante ein Array zu deklarieren und setzen in Klammern den Namen dieser Konstante (in diesem Beispiel). Das zweite Verfahren wird bevorzugt, zu verwenden,, wenn im Laufe des Programms werden Sie mehr Zeit haben, um das Array durch einen Zyklus zugreifen. Der Grund ist,, dass, wenn wir den Zyklus ankündigen, in ihm können Sie eine Bedingung angeben, den Zählerwert zu ändern GRÖSSE. Man stelle sich vor, dass wir brauchen die Größe des Arrays zu ändern mit 10 Elemente auf 200. In diesem Fall, wir müssen nur nur den Wert einer Integer-Konstante ändern, und damit wir standardmäßig automatisch auf die neue Größe und Wert auf das Array, und in allen Zyklen des Programms. Sie können dieses Beispiel versuchen, fügen Sie eine andere Ziffer in konstanten GRÖSSE. Und Sie werden sehen,, dass das Programm gut werden wird - ein Array von vielen Elementen zu erstellen, wie Sie angeben, die Daten und zeigt sie auf dem Bildschirm.

Linien 15 - 19 definieren Zyklus für. Sein Gegen ich Sie wird als Index der Arrayelemente dienen,. Am Anfang, es ist 0 und jeder Schritt um eins erhöht, bis, bis wird es gleich GRÖSSE – die Anzahl der Array-Elemente. beachten Sie, in einem Zyklus und werden wir verschiedene Werte auf die Array-Elemente und die nächste Zeile der Appell an sie vergeben, die Daten anzuzeigen, sie speichern, der Bildschirm.

Führen Sie das Programm und das Ergebnis:

массивы в c++, массивы в с++, одномерный массив

Weisen Sie den Wert der Array-Elemente können verschiedene Arten sein - initialisieren es beim Erstellen oder einer Schleife. Wenn die Größe eines großen Arrays, gibt es eine große Chance, um eine Schleife zu verwenden für oder während initialisieren seine Elemente. Also haben wir in unserem Beispiel. Sie können das Array mit Zufallszahlen füllen – dies haben wir Ein separater Artikel.

Und wenn eine Reihe von sehr kleinen, beispielsweise auf 5 Element, initialisieren es bei der Ankündigung sofort können:

массивы в c++, Arrays in C ++, dimensionales Array

Also das Element mit dem Index 0 – first[0] - Wird gesetzt werden 11, und das letzte Element des Arrays first[4] - Wert 15. Es gibt einen Trick - man kann nicht geben Sie die Größe des Arrays in eckigen Klammern, und eine Platte zu machen:

массивы в c++, Arrays in C ++, dimensionales Array

Der vorherige Eintrag entspricht, dass. Erst im zweiten Fall wird der Compiler automatisch die Größe des Arrays zu berechnen, Daten über die Zahl in Klammern.

Gerade wenn die Initialisierung von Array-Elementen, wenn das Array muss von "Müll" zu reinigen (Rest Daten anderer Programme im Speicher) es ist besser, alle Elemente des Wert zuzuweisen 0. Es sieht wie folgt aus:

массивы в c++, Arrays in C ++, dimensionales Array

Denken Sie daran,, dass solche Initialisierung ist nur möglich mit Nullen zu füllen,. Wenn Sie die Elemente des Arrays zu anderen Zahlen zu füllen, besser um den Zyklus zu verwenden. In C ++ 11 (Coding Standard) über die Liste-Initialisierung (Initialisierung mit Zahnspange) sogar erlaubt Zeichen fallen = .

массивы в c++, Arrays in C ++, dimensionales Array

Ich möchte eine andere Aufnahme zu zeigen, wenn ein Array-Initialisierung zu schaffen. Z.B, für eine Reihe von 30 Elementen benötigen wir Wert hinzufügen 33 und 44 Nur Zellen mit dem Index 0 und 1 beziehungsweise, und der Rest mit Nullen zu füllen. Dann machen wir so:

массивы в c++, Arrays in C ++, dimensionales Array

Diese Daten werden in der Null und der ersten Zelle enthalten sein, und der andere Wert wird automatisch 0.

Arrangieren die Füllung des Array sein und mit Hilfe des Operators Gin:

So weisen oder den Wert eines bestimmten Elements ändern, ist es notwendig, darauf zu verweisen, mit seinen Index. Z.B, alle Werte eines Arrays von 500 Elementen, die uns passen, Sie müssen jedoch den Wert eines einzelnen ändern. Dann wenden wir uns an sie durch seinen Index : first[255] = 7;

Damit aussortiert, Nun schauen wir uns, Wie funktioniert das Array im Speicher befindet. Ein Array vom Typ int der fünf Elemente nehmen 20 Byte Speicher – 4 Byte (int) * 5 (die Anzahl der Elemente) – und diese Daten werden sequentiell in dem Speicher platziert, wie in Abbildung gezeigt:

массивы в c++, Arrays in C ++, dimensionales Array
int Array aus fünf Elementen im RAM

Zusammenzufassen und die wichtigste aller Arrays erwähnen:

  • Array-Deklaration Syntax :

tip_Dannyh_Massiva array_name [Größe];

  • Array-Variablen werden als Elemente, und jedes Element hat seine eigene Seriennummer - index.
  • Nummerierung Array-Indizes beginnen bei Null!!!
  • ein Array initialisieren nur dann, wenn es erstellt wird – int first[3] = {1, 2, 3}; Initialisiert später ist nicht erlaubt: first[3] = {1, 2, 3}; Wenn das Array wurde am Anfang nicht initialisiert, Sie können die Werte ihrer Elemente zuweisen, mit Schleifen oder einfach unter Bezugnahme auf einen gewünschten Artikel durch seinen Index.
  • Ein Array kann eindimensional sein – so, Wie in diesem Beispiel erörtert, und multidimensionale – dvumernыm, dreidimensionale ... (sie werden in einem der nächsten Artikel besprochen werden).

Nicht über die Notwendigkeit vergessen, die Lösung von Problemen zu üben – Aufgaben: Arrays in C ++. Möchten Sie mehr über Arrays in C ++ zu lernen (einschließlich Zeichen-Arrays und Strings)? In diesem Video-Tutorial:

Newsletter neue Lektionen über die Programmierung:

Arrays in C ++ (Video)
4.2 (84%) 5 Stimmen

19 Gedanken zu "Arrays in C ++ (Video)

  1. Тепер я знаю, як просто зберігати безліч однотипних даних з допомогою масивів в С++. Дякую за доступність викладання матеріалу!

  2. Когда отмечал самое важное, надо было указать, что произвольный доступ к элементу массива выполняется за O(1). В тексте статьи ИМХО стоит пояснить, что такое время произвольного доступа обеспечивается тем, что размер элементов массива фиксирован и элементы располагаются в памяти последовательно.
    Как-то красиво нарисовать картинку для примера типа:
    [Code]
    int[99];
    ein[5] = 1; // эквивалентно (ein + Größe von(int) * 5) = 1
    [/Code]
    dh. обращение к элементу a[99999] произойдет также быстро, как к a[2], beispielsweise.
    Можно это как-то красиво нарисовать.

    Это во многом ключевой момент, tk. время доступаэто один из ключевых факторов выбора структуры данных, к которым относятся массивы.

    unnötigerweise. это вводная статья, можно сравнивать массивы с другими структурами данных, очень поверхностно, не вдаваясь в детали реализации других структур. Посмотреть такие сравнения можно в книжках по алгоритмам, например у Скиены.

    Я бы тут же про динамические массивы написал. Статью вообще удалил бы и написал бы заново. В статье куча ляпов и неточностей. С терминологией беда.

  3. Все вот эти преамбулы я бы убрал:
    [quote]
    Массивы чрезвычайно важная тема в С++.

    Сразу вас обрадую – понять и научиться применять массивы достаточно просто даже начинающему.

    Beachten Sie den Boden und gehen Sie zum Beispiel aus der Praxis:

    Ну и еще один способ присвоения значений – это обращаться к каждому элементу массива отдельно.

    ….
    [/quote]

    Просто сравни 2 фрагмента:
    [quote]

    ein Array in C ++ - eine Kombination aus einer bestimmten Anzahl von ähnlichen Variablen, имеющих одно имя – к примеру, int array [3];. Dieser Eintrag bedeutet,, что мы объявили массив с именем array , который содержит в себе 3 переменные типа int;
    Array-Variablen werden als Elemente ;
    Jedes Element hat seinen eigenen einzigartigen Code - eine Sequenznummer. Verwenden des Index, können wir auf ein bestimmtes Element verweisen. ВАЖНО – индексация элементов массива начинается с 0. Так в массиве int array [3] das erste Element hat den Index 0, und die letzte - 2. Zur Bewältigung, z.B, dem Nullelement des Arrays und seinen Wert ändern, es ist nötig, den Namen des Feldes in eckigen Klammern angeben, den Index, um anzuzeigen, – Feld [0] = 33.
    [/quote]
    [quote]

    Array-Deklaration Syntax :

    tip_Dannyh_Massiva array_name [Größe];

    посмотрев на синтаксис можно дать определение: массив – это определенное количество однотипных данных, объединенных общим именем.
    Array-Variablen werden als Elemente, und jedes Element hat seine eigene Seriennummer - index.
    нумерация элементов массива начинается с нуля!!!
    инициализировать массив можно либо при его создании, либо используя циклы.
    массив может быть одномерным – таким, Wie in diesem Beispiel erörtert, и многомерным – двумерным, dreidimensionale ... (sie werden in einem der nächsten Artikel besprochen werden).
    [/quote]

  4. >> On line 7 мы определяем целочисленную константу size, которая будет хранить

    On line 7 написано “int main”.

  5. Vladimir, спасибо за Ваши комментарии. Думаю, многим будет нелишним почитать дополнительную информацию о массивах.
    Что касается написания статейориентируюсь на новичков в программировании и стараюсь писать максимально доступно. Вам, как специалисту , это конечно кажется примитивным, но начинающие программисты оценят. Кому понадобится более глубокое рассмотрение темы, тот не одну книгу еще прочитает.
    p.s. Номера строкизменили.

  6. Ну окей, чтобы тыщу раз не говорить:
    нумерация элементов массива начинается с нуля!!!”
    просто называй первый элемент нулевым.

    Инициализация с фигурными скобкамиэто тонкость, которая, IMHO, новичкам вообще не особ нужна. Не все компиляторы это поддерживают. А если статья ориентируется на студентов, то надо учесть, что в наших ВУЗах любят давать студентам всякие античные компиляторы типа BC3.1.

    1. интересно, почему ВУЗы дают этиантичныекомпиляторы, если visual express в свободном доступе

      1. не не слышал что б вузы нам что-то навязывали старое! natürlich, хочешь в Code::Blocks пиши, хоч в Visual Studio, не помню когда под Борланд что писал, но помнят руки старые времена!!!
        смешно вспомнить но начинал с Dev-C++ айдишки) эх было время!

    2. Vladimir, во-первых этот сайт для начинающих, так что не стоит строго судить всё что тут написано! Как мне кажется, то новичкам тут будет самое то! Не надо тут говорить как кому учиться, я думаю что многие разберутся. Zweitens, если у Вас есть замечания по тексту, или исправления ошибокто Орфус Вам в помощь, не надо засорять чат!
      В-третьих, по-моему автор сайта лучше знает как излагать код, не надо тут навязывать своего мнения, как надо что делать, это же обучаловка для будущих тру программеров, а не для профи, так чтоИнициализация с фигурными скобками – это тонкость, которая, IMHO, новичкам вообще не особ нужна”, считаю этот текст глупым, ведь это тонкости языка (!), и тут всё важно, нужно всё знать, как и что пишется, что бы в будущем в чужом коде не таращить глазаа это что такое и почему”!!!

      Всего хорошего! Да прибудет Буст в Вами!

  7. Так народ, не мешайте Админу работать!!!_) Он и сам знает какой материал выкладыватьпринимаются только дельные советы и замечания! Vergessen Sie nicht,, видите ошибку, “бейтев Орфус, Ctrl + Enter Вам в помощь!!!

Hinterlasse eine Antwort

Deine Email-Adresse wird nicht veröffentlicht. erforderliche Felder sind markiert *